JavaScriptで金額の表記にコンマを付ける
まだカーテンがこないminamiです。
金額をサイトで扱う場合、コンマを使った表記が必要になる場面もあると思いますが、JavaScriptで自動的に追加する処理を作ってみました。
3桁ごとにコンマをつける
サンプルは下記になります。
肝になるのは下記の処理です。入力した数字(文字列)に対して、(任意の数字)+(下3桁が数字)にマッチする限り繰り返し処理を行います。
// 3桁ずつコンマが振られるまで再帰的に処理
function addComma(num) {
var _num = num.replace( /^(-?\d+)(\d{3})/, "$1,$2" );
if(_num !== num) {
return addComma(_num);
}
return _num;
}
下記の部分では正規表現を使ってマッチしています。
var _num = num.replace( /^(-?\d+)(\d{3})/, "$1,$2" );
正規表現部分は以下の様な処理をしています。
まとめ
地味に必要になる機会もありそうなので作りました。ちなみにコンマ付きを元の数字に戻すときは
var num = parseInt('100,000'.split(',').join(''));
これだけで大丈夫です。