js正则表达式实现千分位符

网友投稿 701 2022-11-24

js正则表达式实现千分位符

js正则表达式实现千分位符

function numberThousands (number, thousandsSeperator = ',') { return String(number).replace(/(\d)(?=(\d\d\d)+(?!\d))/g, '' + thousandsSeperator)}

解释

首先理解一下: 正向肯定预查(look ahead positive assert) 和 正向否定预查(negative assert)

正向肯定预查(look ahead positive assert):

在任何匹配pattern的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。例如,“Windows(?=95|98|NT|2000)“能匹配"Windows2000"中的"Windows”,但不能匹配"Windows3.1"中的"Windows”。预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹配之后立即开始下一次匹配的搜索,而不是从包含预查的字符之后开始。

正向否定预查(negative assert):

在任何不匹配pattern的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。例如"Windows(?!95|98|NT|2000)“能匹配"Windows3.1"中的"Windows”,但不能匹配"Windows2000"中的"Windows"。预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹配之后立即开始下一次匹配的搜索,而不是从包含预查的字符之后开始。

/(\d)(?=(\d\d\d)+(?!\d))/g 正则表达式图解:

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:mybatis/mybatis
下一篇:「分布式计算」Helix: 基于配额的任务调度
相关文章

 发表评论

暂时没有评论,来抢沙发吧~