我使用以下功能在文本框中自动添加逗号(例如:124355 => 124,355)
function addCommas(num) {
return num.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
}
我使用onKeyUp
事件:
<td><input type="text" onkeyup="this.value=addCommas(this.value);"/></td>
如果我快速输入数字,这是可以的。但是,如果我慢慢输入数字,我得到以下结果:
124355 => 1,2,4,355
135298532 => 1,3,5,2,9,8,532
你可以帮我解决这个问题吗?
答案 0 :(得分:2)
我猜你应该先从输入中删除所有逗号(带.replace()),然后再应用正则表达式。