0

有一个var id = "123456789";

如何在每 3 位数字后分组?

结果必须是这样的:

var no1 = 123;
var no2 = 456;
var no3 = 789;

如果 id 将更长 12、15 或更多数字,应该工作相同!

4

4 回答 4

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);

}
于 2013-07-17T12:24:29.883 回答
1

这能行吗?

var id = "123456789"
var arr = id.match(/.{1,3}/g);

这里:

arr[0] == "123"
arr[1] == "456" ....

最好使用substring(). 在执行之前检查长度substring(),以免出现IndexOutOfBounds类错误。

于 2013-07-17T12:20:55.707 回答
1
var splittedArray = yourString.match(/.../g);

这样,您将获得所有值的数组:)

于 2013-07-17T12:21:06.553 回答
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);
于 2013-07-17T12:21:50.240 回答