js實現千位分隔符
阿新 • • 發佈:2017-07-12
分隔符 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實現千位分隔符