JavaScript - 文字列にカンマを挿入


一文字ごとにカンマを入れる方法です。

これだと単純ですが、最後にカンマが入ってしまいます…。ここで「substrで最後の文字を削除」とするのは野暮です。それでも、charAtを使って1文字ずつ取り出しながら新しい文字列を作るという原始的なプログラムよりはマシですが。
var str = "123456789";
str.replace(/(.)/g, "$1,");

// →1,2,3,4,5,6,7,8,9,

ちょっと応用すると文字間のみにカンマが入ります。「x(?=y)」の表現を「肯定的前方先読み」といいます。 RegExp - MDN
var str = "123456789";
str.replace(/(.)(?=.)/g, "$1,");

// →1,2,3,4,5,6,7,8,9

さらに応用すると3桁ごとのカンマ区切りもできます。後方に3の倍数個の数字のつづく数字の右側にカンマを付けるという意味です…。少し難しいですね。
var str = "1234567890";
str.replace(/(\d)(?=(\d\d\d)+$)/g, "$1,");

// →1,234,567,890