如何在jquery中从字符串中获取范围
How to get range from a string in jquery
我有一个字符串像SL45NU2154-60
现在我想从这个字符串中得到一个数组,比如
SL45NU2154
SL45NU2155
SL45NU2156
SL45NU2157
SL45NU2158
SL45NU2159
SL45NU2160
如何使用jquery或javascript实现此功能。
我已经试过了。首先,我将这个字符串与'-'
分开,并找到一个具有SL45NU2154
和60
的数组。现在我不知道如何通过循环来创建数组。这是我的代码
var str = 'SL45NU2154-60';
var str_arr = str.split("-");
alert(str_arr);
你的jquery
var main="SL45NU2154-60";
var arr=main.split('-');
var fnal=parseInt(arr[1]);
var last2=parseInt(arr[0].substr('-2'));
var firstval=arr[0].slice(0,-2);
for(var i=last2;i <= fnal;i++)
{
alert(firstval+""+i);
}
JSFIDDLE
这将处理用户输入的任何alpha数字字符,知道字母在数字之前。
var str = "SL452154-60";
var target = str.replace(str.match(/[a-zA-Z][^'d]/g),'');
var alpha = str.match(/[a-zA-Z][^'d]/g);
var fromTo = target.split('-');
var from = fromTo[0];
var to = fromTo[1];
var res = [];
for(var i=parseInt(from);
i<= parseInt((from.substring(0,(from.length - to.length))) + fromTo[1]);
i++)
{
res[res.length] = alpha + i;
}
alert(res)
<br>
:您可以尝试将字符串更改为,例如:"KG123125-60"
如果您知道该格式始终保持,在末尾有XX-XX
的地方,那么您可以尝试使用正则表达式拆分以提取部分并构建范围。
首先创建一个helper来填充最小值和最大值范围:
var range = function(m, n) {
var out = []
for (var i=m; i<=n; i++) {
out.push(i)
}
return out
}
然后拆分字符串以找出最小值和最大值的范围:
var str = 'SL452154-60'
var parts = str.split(/('d{2})-('d{2})$/)
然后使用帮助器创建范围:
var ran = range(+parts[1], +parts[2]) // `+` makes sure they're numbers
最后,您可以映射范围数组中的每个数字以生成字符串数组:
var result = ran.map(function(x){return parts[0]+x})
//^ ["SL452154", "SL452155", "SL452156", "SL452157",
// "SL452158", "SL452159", "SL452160"]
function a()
{
var str = 'SL45NU2154-60';
var str_arr = str.split("-");
var len =0;
var storage="";
for(var i=str.length; i>=0; i--)
{
var res = str_arr[0].substring(i-1,i );
if(!isNaN(res))
{
storage=storage+res;
}
else
{
break;
}
}
//after this you got 4512 the opposite order of 2154 now reverse it
alert(storage.length);
var storage2="";
for(var i=storage.length; i>=0; i--)
{
var res = storage.substring(i-1,i );
storage2=storage2+res;
}
alert(storage2);
//after this long conversation you now retrieve the 2154
var len2 = str_arr[1].length;
var num2= str_arr[1];
var storage3 = storage2.substring(len2,storage2.length);
while(storage3<=num2)
{
var total =parseInt(storage3)+1;
//now add this number to the inputed number
}`
}
希望对您有所帮助
try this
var string="SL45NU2154-60";
var string = string.split('-');
var len = string[1].length;
initial = string[0].substr(-len);
parseInt(initial);
var fixedString = string[0].slice(0, string[0].length - len);
var a= new Array();
for(var i=initial; i <= parseInt(string[1]);i++){
a.push(fixedString+i);
}
console.log(a);
function getRange(str){
var parms=str.split('-');
var start=parms[0];
var end=parms[1];
var doStart = start.substr(start.length - end.length);
var pre=start.match(/[a-zA-Z][^'d]/g);
var post = start.replace(str.match(/[a-zA-Z][^'d]/g),'');
var res=[];
start=parseInt(doStart,10);
for(i=start,j=0;i<=end;i++,j++){
res[j]=pre+post;
post+=i;
}
return res;
}
console.log(getRange("SL452154-60"));
相关文章:
- 通过字符串获取JSON对象
- 将敲除绑定应用于模板,并将结果作为字符串获取
- 使用字符串获取本地对象的属性
- 如何使用 jQuery 在标签的 for 属性中使用子字符串获取标签元素的值
- 使用 Javascript 将 Java 渲染为字符串获取最终 HTML
- 如何使用正则表达式从此字符串获取电子邮件
- 维基媒体API从JSON字符串获取相关数据
- 如何使用jQuery将HTML数据值作为字符串获取
- 带有换行符的JSP+HTML-将其作为字符串获取,并删除"新线”;
- 如何从字符串获取url-jQuery或Javascript
- QML-将JS函数的代码作为字符串获取
- cookie字符串获取并设置jquery控件的属性
- 通过字符串获取HTML元素
- 从绝对url字符串获取锚值
- 在myObj.one.two.three.field中,当字段有2个或更多嵌套级别时,通过路径字符串获取对象字段
- 从带有moment的非本地ISO8601字符串获取时间(小时,分钟)
- 使用javascript使用parseFloat和parseInt无法正常工作的字符串获取价格
- 如何从json字符串获取键值
- 使用javascript从给定字符串获取电子邮件id
- 从Json字符串获取数据到javascript (jQuery)