项目中涉及金钱展示的通常要求展示为千分符,现在把正则表达式记录如下
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