正则表达式----正向预查
正则:strNum.replace(/\d{1,3}(?=(\d{3})+ ) / g , ′ )/g, ' )/g,′&,’);
var f = '1233454899992'.replace(/\d{1,3}(?=(\d{3})+$)/g, '$&,');
console.log("f---1233454899992",f);//结果 : 1,233,454,899,992
同样的效果,js也是可以实现的
js代码:
function breakUpFun(num){//num 要拆分的数
var numArr = [];
var strNum = "",num1=num;
for(var i=0;num.length>3;i++){
numArr[i]=num.slice(-3);
num = num.slice(0,-3);
}
numArr.push(num);
numArr.reverse();
strNum = numArr.join(",");
console.log(`strNum----${num1}`,strNum)
return strNum;
// 正则 -- 正向预查
}
breakUpFun("1233454899992");//结果 :1,233,454,899,992
当然你可以随意设置分割的位数 breakNum:
代码:
function breakUpFun(num,breakNum){//num 要拆分的数 , breakNum 要拆分的位数
var numArr = [];
var strNum = "",num1=num;
for(var i=0;num.length>breakNum;i++){
numArr[i]=num.slice(-breakNum);
num = num.slice(0,-breakNum);
}
numArr.push(num);
numArr.reverse();
strNum = numArr.join(",");
console.log(`strNum----${num1}`,strNum)
return strNum;
// 正则 -- 正向预查
}
breakUpFun("1233454899992",3);//结果 : 1,233,454,899,992
breakUpFun("1233454899992",4);//结果 : 1,2334,5489,9992
breakUpFun("1233454899992",5);//结果 : 123,34548,99992