项目中涉及金钱展示的通常要求展示为千分符,现在把正则表达式记录如下
function toThou(str){
var reg=/(\d)(?=(?:\d{3})+\b)/g
return str.replace(reg,'$1,')
}
toThou('12455.45')
// '12,455.45'
正则分析
1、 捕获组 (\d) ------ \d 匹配数字 (相当于 [0-9])
2、肯定型顺序环视 (?=(?:\d{3})+\b)
断言下面的正则表达式匹配
非捕获组 (?:\d{3})+ ------ + 量词 — 匹配 1 至 无穷 次
\d{3} ------ \d 匹配数字 (相当于 [0-9])
{3} 量词 — 实际匹配 3 次
\b 断言单词边界处的位置:(^\w|\w$|\W\w|\w\W)
3、g 全局匹配
注意:传入为字符串
推荐正则分析网站 : http://tool.oschina.net/regex/?optionGlobl=global

项目中金钱展示常需千分符,本文记录了实现该功能的正则表达式。对正则进行了详细分析,包括捕获组、肯定型顺序环视、非捕获组等,还提到是全局匹配,且传入需为字符串,最后推荐了正则分析网站。
1937

被折叠的 条评论
为什么被折叠?



