如何使用jQuery结合正则表达式为数字添加千分位分隔符
用正则表达式给数值添加千分位分隔符(jQuery实现)
我刚学习jQuery,想要用正则表达式给变量中的数值添加千分位分隔符,过程中遇到了阻碍,在网上找到了如下代码示例:
JavaScript代码
let num = 123456; $('.show').text(num.replace(/\B(?<!\.\d*)(?=(\d{3})+(?!\d))/g, ","));
HTML代码
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <p class="show"></p>
正则表达式说明
\B:匹配非单词边界,避免在数字开头添加逗号(?<!\.\d*):负向零宽断言,跳过小数点后的数字,防止给小数部分错误添加千分位(?=(\d{3})+(?!\d)):正向零宽断言,匹配从右往左数每三位数字前的位置,确保逗号只加在整数部分的正确位置
注意事项
如果num是数字类型,必须先转为字符串才能调用replace方法,否则会报错,修改后代码如下:
let num = 123456; $('.show').text(num.toString().replace(/\B(?<!\.\d*)(?=(\d{3})+(?!\d))/g, ","));
内容的提问来源于stack exchange,提问作者AWEI
相关产品推荐
相关产品推荐

