このサイトにたどり着くまで、数字にコンマを入れることができるショートコードを探していました。
コード:
function addCommas(nStr)
{
nStr += '';
x = nStr.split('.');
x1 = x[0];
x2 = x.length > 1 ? '.' + x[1] : '';
var rgx = /(\d+)(\d{3})/;
while (rgx.test(x1)) {
x1 = x1.replace(rgx, '$1' + ',' + '$2');
}
return x1 + x2;
}
本当に素晴らしい作品。この例の数のセットを持つ:
addCommas('83475934.89');
が返さ"83,475,934.89"
れますが、コードを読むと返されると思います8,3,4,7,5,934.89
が、このサイトはそれを説明しています
\d+
と組み合わせると\d{3}
、任意の数の数字が前に付いた 3 つの数字のグループに一致します。これにより、検索がだまされて右から左に置換されます。
そして、私はとても混乱します。このコードは右から左にどのように読み取られますか? さらに、$1
and と$2
はどういう意味ですか?