问题描述
如何给一串数字用千分制表示?比如9999999999变成9,999,999,999。
数据准备
生成字符串
let fill = (m, n) => Array(m).fill(n).join('')
let str = fill(250, 1)
翻转填充
翻转字符串,每三位添加一个 ',' ,注意需要匹配非边界,避免最后在开头添加上 ',' ,然后再次翻转字符串即可
String.prototype.reverse = function () {
return this.split('').reverse().join('')
}
str.reverse().replace(/\d{3}\B/g, '$&,').reverse()
正向预查
正向预查,匹配1-3个数字,但需要后需要有3的倍数的数字
str.replace(/\d{1,3}(?=(\d{3})+$)/g, '$&,')
网友评论