Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

下面是千分位格式化的正则表达式,传入1234567890,返回
1,234,567,890
不知道如何理解,请逐个字符解释给我这个小白听

function regFormatPermil(v){
 const reg = /d{1,3}(?=(d{3})+$)/g
 return `${v}`.replace(reg,'$&,')
}

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
1.9k views
Welcome To Ask or Share your Answers For Others

1 Answer

这里用到了断言,在浏览器端使用要注意兼容性,chrome是支持的,但是firefox和safari之类的貌似都不支持。

/d{1,3}(?=(d{3})+$)/g 这个正则以贪婪模式匹配一个串a, 仅当a后面跟着3的倍数个数字时才匹配,?=为后行断言先行断言,表示紧随其后的条件,但是不在匹配结果里,即不是a的一部分。
a的长度在1-3之间(/d{1, 3}, 贪婪模式会尽可能长地匹配)。


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...