JavaScriptで数値をカンマ区切りする方法としては、 こちらの正規表現を使った方法がメジャーなようですが、以下のように var re = /(\d)(?=(\d\d\d)+(?!\d))/g; String(1234).replace(re, '$1,'); // 1,234 OK String(1234.56).replace(re, '$1,'); // 1,234.56 OK String(1234.5678).replace(re, '$1,'); // 1,234.5,678 NG 小数点以下が3桁を超えると破綻してしまいます。 どのような解決策があるでしょうか。