2016-07-29 5 views
0

私は正しくフォーマットされた数字を自分のautoForm入力フィールドに表示しようとしています。次のコードは、console.logステートメントを使用すると、期待どおりにコンソールに出力します。ただし、クライアントに返された場合、500000は5,0,0,000を表示し、.toLocaleString()はディスプレイまたはコンソールではまったく機能しません。何か案は?流行のKeyupイベントとRegexの問題

Template.mortgage.events({ 
'keyup [name=cashOut]': function(){ 
    var cashOut = event.target.value, 
    formatted = cashOut.toString().replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1,"); 
    event.target.value = formatted; 
} 
}); 
+0

正規表現を2回適用していますか? – CodeChimp

+0

CodeChimp、ありがとう!私はあなたが正しいと思うが、私はそれを再帰的に見えるようにevent.target.valueから値を取得して返すようにそれを繰り返すのを止める方法に迷っている。どうしますか? – Mike

答えて

0

あなたが抱えている具体的な問題は、あなたの正規表現のg修飾子を使用することです。私はあなたがやろうとしていることを得ています。あなたが望むことを行うための良い正規表現は、受け入れられた答えthis questionにあります。