轉(zhuǎn)自:http://www.cnblogs.com/rubylouvre/p/3738323.html#undefined
1.不帶小數(shù)點(diǎn)
"15000000".split("").reverse().join("").replace(/(\d{3})/g, "$1,").split("").reverse().join("");
步驟分解:
"15000000".split("")
得出[1, 5, 0, ...]
reverse()
得出 [0, 0, ... , 5, 1]
(防止出現(xiàn)數(shù)子個(gè)數(shù)非3倍數(shù))
join("")
得出00000051
replace(/(\d{3})/g, "$1,")
得出000,000,51
正則中$1
匹配(\d{3})
,正好取代3個(gè)數(shù)字,再加個(gè)',
'則完美替換
把數(shù)據(jù)恢復(fù)原來(lái)順序
"115000000".split("").reverse().join("").replace(/(\d{3})(?=[^$])/g, "$1,").split("").reverse().join("");
'1500000000000'.replace(/\B(?=(\d{3})+$)/g, ',')
2.帶小數(shù)點(diǎn)
'123123211312.333123'.replace(/(?=(?!^)(?:\d{3})+(?:\.|$))(\d{3}(\.\d+$)?)/g,',$1');
'12000000.11'.replace(/(\d)(?=(\d{3})+\.)/g,'$1,$2,')