1. ホーム
  2. jquery

[解決済み] 3桁ごとの数字にカンマを追加

2022-02-14 14:54:12

質問

jQueryを使用して、3桁ごとにカンマで区切られた数字をフォーマットするにはどうすればよいですか?

例えば

╔═══════════╦═════════════╗
║   Input   ║   Output    ║
╠═══════════╬═════════════╣
║       298 ║         298 ║
║      2984 ║       2,984 ║
║ 297312984 ║ 297,312,984 ║
╚═══════════╩═════════════╝

解決方法は?

Paul Creasey氏は、正規表現という最もシンプルな解決策を持っていましたが、ここではシンプルなjQueryプラグインとして紹介します。

$.fn.digits = function(){ 
    return this.each(function(){ 
        $(this).text( $(this).text().replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1,") ); 
    })
}

すると、こんな風に使うことができます。

$("span.numbers").digits();