经查询,网上最简洁的写法有以下两种
var num = '123456.12311';
var str = num.replace(/\d(?=(?:\d{3})+\b)/g, '$&,');
var str2 = num.replace(/\B(?=(\d{3})+\b)/g,',');
// \B:匹配单词边界 \b:匹配非单词边界4处。
所以 str2的意思是:匹配一个单词边界,此边界后面跟着3*n 个数字 且 数字后面是一个非单词边界
经查询,网上最简洁的写法有以下两种
var num = '123456.12311';
var str = num.replace(/\d(?=(?:\d{3})+\b)/g, '$&,');
var str2 = num.replace(/\B(?=(\d{3})+\b)/g,',');
// \B:匹配单词边界 \b:匹配非单词边界4处。
所以 str2的意思是:匹配一个单词边界,此边界后面跟着3*n 个数字 且 数字后面是一个非单词边界
转载于:https://my.oschina.net/u/3507508/blog/1574910