为数字添加千分符

  1. 查找一个“非单词边界”
  2. [1]后面伴随着“3的倍数个数字”
  3. [2]后面伴随着一个“单词边界”
/\B(?=(\d{3})+\b)/

把查找到的“非单词边界”替换成千分符即可

'32132112345123136.123'.replace(/\B(?=(\d{3})+\b)/g,',')
"32,132,112,345,123,136.123"

缺陷:小数位同样会被处理

'32132112345123136.123123123123'.replace(/\B(?=(\d{3})+\b)/g,',')
"32,132,112,345,123,136.123,123,123,123"
伍六七 更改标题为「使用正则表达式为数字添加千分符

这款表达式在处理2位小数的大数字时是真的优秀,然而大部分情况下的金额精确到2为小数已是足够,所以这个缺陷完全可以被忽略。

9 个月 后

我还在傻乎乎的截取字符串 😅
楼主多分享点这种小技巧吧