方式一(不使用正则表达式)
let str = "1234567890";
function formatCash(str) {
str = str || 0;
if (str.toString().length <= 1) return str;
let arr = [];
for (var i = 1, len = str.length; i < len; i++) {
if (str.length % 3 && i === 1) {
arr.push(str.substr(0, str.length % 3));
}
if (i % 3 === 0) {
arr.push(str.substr(i - 2, 3));
}
}
return arr.join(",");
}
console.log(formatCash(str));//1,234,567,890
方式二 (使用正则表达式)
大家用的比较多的也就是这个
let str = "1234567890";
var reg = /(?!^)(?=(\d{3})+$)/g;
console.log(str.replace(reg,','));//1,234,567,890
方式三(使用Number.prototype.toLocaleString())
这个用到是Number原型上的一个方法,平常我比较喜欢用这个
let num= 1234567890
console.log(num.toLocaleString())//1,234,567,890
还可以这样搞
let num=1234567890;
let option={style:'currency',currency:'CNY'}
console.log(num.toLocaleString('zn-CN',option));//¥1,234,567,890.00
更多的用法可以参考这个