首页 > 编程知识 正文

如何给数字字符串添加千分符,数字如何加千分符

时间:2023-05-05 09:43:21 阅读:274434 作者:39

实现的功能为:

123456789 转换为123,456,789


使用的正则表达式如下所示:

/(d{1,3})(?=(d{3})+$)/g


使用方式:

var num = 123456789;

num.toString().replace(/(d{1,3})(?=(d{3})+$)/g,'$1,');


执行完结果就是: 123,456,789


下面我来解释一下这个正则表示是怎么实现的功能


这里面用到的正则表达式元素有

1. d      匹配数字相当于[0-9]

2. {m,n} 匹配的数目大于m小于n,所以d{1,3}的意思就是匹配1到3个数字

3. ?=     正向前瞻,它稍微复杂一点,说不清楚就举个例子

/d/会匹配一个数字,/d(?=w)/依然只匹配一个数字,但是它要求数字后面跟一个字母

'1a'.match(/d(?=w)/) 结果为 1


所以/(d{1,3})(?=(d{3})+$)/g这个正则表达式的意思就是:

匹配1到3个数字,并且这个数字后面要跟着3的倍数的数字,也就是3,6,9,...个数字

'123456789'.match(/(d{1,3})(?=(d{3})+$)/g) 会匹配到 ["123", "456"]

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。