数字千分位格式化,是一道很经典的题目了。转字符串拆数组、倒序循环、正则,很多种方法。
今天看到了一篇博文,使用的正则表达式,其中对于正则细心的解释非常棒。
在这之前我只知道正向预查是预查不捕获,并不清楚其对于多次查询的影响。这里贴出他的博文地址:https://www.cnblogs.com/lvmylife/p/8287247.html
console.log(String(12345678.321).replace(/\d{1,3}(?=(\d{3})+(\.|$))/g,'$&,'))
注意:正则在也会查询小数部分,所以小数位大于3位的最好先处理一下再合并。
- ?= 正向预查,作为匹配的条件,但匹配到的内容不获取,并且作为下一次查询的开始
- $& 表示与正则表达式相匹配的内容,具体的可查看 w3school的replace()方法
网友评论