在javascript中自动为数字添加逗号?

Auto add commas for number in javascript?

本问题已经有最佳答案,请猛点这里访问。

我使用下面的函数在文本框中自动添加逗号(例如:124355 => 124,355)

1
2
3
function addCommas(num) {  
   return num.toString().replace(/\B(?=(\d{3})+(?!\d))/g,",");
}

我使用onKeyUp事件:

1
<td><input type="text" onkeyup="this.value=addCommas(this.value);"/></td>

如果我快速输入数字,这是可以的。 但是,如果我慢慢输入数字,我得到以下结果:

1
2
124355 => 1,2,4,355
135298532 => 1,3,5,2,9,8,532

你能帮我解决这个问题吗?


我想你应该先从输入中删除所有逗号(带.replace()),然后再应用正则表达式。