欢迎光临
我们一直在努力

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

实现的功能为:

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

vps云服务器

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

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

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”]

59721923

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。