js实现千位分隔符

Posted Orange

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js实现千位分隔符相关的知识,希望对你有一定的参考价值。

//正则表达式实现千位分隔符
function format(num){
    var reg = /\d{1,3}(?=(\d{3})+$)/g;
    return (num + ‘‘).replace(reg, ‘$&,‘);
}
console.log(format(13123903243));  //13,123,903,243

解释:

正则表达式 \d{1,3}(?=(\d{3})+$)  表示前面有1~3个数字,后面的至少由一组3个数字结尾。

?=表示正向引用,可以作为匹配的条件,但匹配到的内容不获取,并且作为下一次查询的开始。

 $& 表示与正则表达式相匹配的内容。

//常规循环方法实现千位分隔符
function format1(num){
    num = num + ‘‘;  //数字转字符串
    var str = "";
    for(var i=num.length-1,j=1; i>=0; i--,j++){
        if(j%3==0 && i!=0){         //每隔三位加逗号,过滤正好在第一个数字的情况 
            str += num[i] + ‘,‘;    //加千分位逗号 
            continue;
        }
        str += num[i];
    }
    return str.split(‘‘).reverse().join(‘‘);  //字符串=>数组=>反转=>字符串 
}
console.log(format1(13123903243));  //13,123,903,243

 

 

 

 

 

以上是关于js实现千位分隔符的主要内容,如果未能解决你的问题,请参考以下文章

千位分隔符的JS实现

js实现千位分隔

用js实现千位分隔符?

js ---- 实现千位分隔符

js实现千位符分隔

JS 实现四舍五入保留两位小数并且添加千位分隔符