有var id = "123456789";
如何在每3位数后分成几组?
结果必须是这样的:
var no1 = 123;
var no2 = 456;
var no3 = 789;
如果id超过12位,15位或更多位,则应该相同!
答案 0 :(得分:3)
这可以是您的答案,根据您的需要使用此功能,output
数组包含结果
function parseDigits()
{
var number = 123456789,
output = [],
sNumber = number.toString();
for (var i = 0, len = sNumber.length; i < len; i += 3) {
output.push(+sNumber.charAt(i)+sNumber.charAt(i+1)+sNumber.charAt(i+2));
}
alert(output);
}
答案 1 :(得分:1)
这可以吗?
var id = "123456789"
var arr = id.match(/.{1,3}/g);
下面:
arr[0] == "123"
arr[1] == "456" ....
最好使用substring()
获取值。在执行substring()
之前,请检查长度以避免出现 IndexOutOfBounds 类错误。
答案 2 :(得分:1)
var splittedArray = yourString.match(/.../g);
通过这种方式,您将获得所有值的数组:)
答案 3 :(得分:1)
var result = [];
for(var i = 0; i < id.length; i+=3){
result.push(id.substring(i, i + 3));
}
如果您想要精确的结果(存储在无变量中):
for(var i = 0, j = 1; i < id.length; i+=3, j++){
window['no' + j] = id.substring(i, i + 3);
}
console.log(no1);
console.log(no2);
console.log(no3);