[JavaScript] 数値をカンマ区切りにする方法

JavaScriptで数値にカンマを付けたり外したり…
一般のサイトなんかではあまり使わないかもしれないですが、業務アプリとかだと日常茶飯事だったりします。


整理がてらメモにあったものを公開しておきたいと思います。

#見づらい

新人の頃に作ったアプリで使われていたカンマ区切りのロジック。
非常に見づらいです。頑張って作ったのでしょう。

function insertComma(num) {
    while ( num != ( num = num.replace( /^(-?\d+)(\d{3})/, "$1,$2" ) ) );
    return num;
}

#理想的な方法

最近はこんな感じでカンマ区切りしてます。保守もしやすくてイイ感じです。

function insertComma(num) {
    return String(num).replace(/(\d)(?=(\d\d\d)+(?!\d))/g, '$1,');
}

#ちょっとクールな方法

一応、こういう方法もあるっぽいです。
確認したところ、最新のブラウザでは有効でした。

function insertComma(num) {
    return num.toLocaleString();
}
// Chrome 33
// Firefox 28
// Internet Explorer 11
twitterfacebookhatenafacebook