1. 程式人生 > >js實現千位分隔符

js實現千位分隔符

分隔符 ace function 第一個 clas repl != ever -1

//正則表達式實現千位分隔符
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實現千位分隔符