12345678.88
格式化为12,345,678.88
\B:匹配非单词边界
(?=):正向零宽断言
\d{3}:匹配三个数字字符
+:与前面的\d{3}结合表示匹配3的整数倍个数字字符
$:字符串结尾
所以合起来的意思就是:匹配单词中的某个位置,这个位置之后的字符全部为数字,且出现次数是3的整数倍。
function format(val){
var str = val.toFixed(2) + '';
var sum= str.substring(0,str.indexOf(".")).replace( /\B(?=(?:\d{3})+$)/g, ',' );//取到整数部分
var dot = str.substring(str.length,str.indexOf("."))//取到小数部分搜索
var ret = sum + dot;
return ret;
}