下面是千分位格式化的正则表达式,传入1234567890,返回1,234,567,890不知道如何理解,请逐个字符解释给我这个小白听
function regFormatPermil(v){ const reg = /d{1,3}(?=(d{3})+$)/g return `${v}`.replace(reg,'$&,') }
这里用到了断言,在浏览器端使用要注意兼容性,chrome是支持的,但是firefox和safari之类的貌似都不支持。
/d{1,3}(?=(d{3})+$)/g 这个正则以贪婪模式匹配一个串a, 仅当a后面跟着3的倍数个数字时才匹配,?=为后行断言先行断言,表示紧随其后的条件,但是不在匹配结果里,即不是a的一部分。a的长度在1-3之间(/d{1, 3}, 贪婪模式会尽可能长地匹配)。
/d{1,3}(?=(d{3})+$)/g
2.1m questions
2.1m answers
60 comments
57.0k users