方法一:使用正则表达式
语法如下:
String(Number).replace(/(d)(?=(d{3})+$)/g, "$1,");
举例:
String(123456789).replace(/(d)(?=(d{3})+$)/g, "$1,");
结果是:123,456,789
正则表达式方法使用示意截图
方法二:使用toLocaleString()方法
语法如下:
Number.toLocaleString('en-US');
举例:
(123456789).toLocaleString('en-US');
结果是:123,456,789
toLocaleString()方法效果截图
对于中文场景下,toLocaleString('en-US')中的'en-US'理论上是可以缺省的,也就是直接(123456789).toLocaleString()也是可以得到123,456,789。但是如果你的产品可能海外用户使用,则保险起见,还是保留'en-US'。
另外,对于IE edge之前的版本,Number.toLocaleString()会自动补上两位小数,如果是不需要的,需要自己额外过滤掉。
只对逗号字体进行控制是使用CSS中的unicode-range
属性