JavaScript正则-千分符
方法一:分组
var str = "4234513634"; // 4,234,513,634
var reg = /^(\d{1,3})((?:\d{3})+)$/;
var arr = str.replace(reg, function () {
var res1 = arguments[1];
var res2 = arguments[2];
return res1 + ',' + res2.replace(/\d{3}(?!$)/g, function () { // (?!$) 不以其结尾
return arguments[0] + ',';
})
});
console.log(arr); // 4,234,513,634
方法二:索引
var reg = /\d(?!$)/g;
var arr = str.replace(reg, function (r, i) { // 索引
if ((str.length - i - 1) % 3 === 0) {
return r + ',';
} else {
return r;
}
});
console.log(arr); // 4,234,513,634
方法三:翻转
str = str.split('').reverse().join('');
str = str.replace(/(\d{3}(?!$))/g, '$1,');
str = str.split('').reverse().join('');
console.log(str); // 4,234,513,634