【发布时间】:2012-11-17 06:57:10
【问题描述】:
我正在尝试动态调整输入的数值以包含千位分隔符
这是我的代码:
function addCommas(nStr) {
nStr += '';
x = nStr.split('.');
x1 = x[0];
x2 = x.length > 1 ? '.' + x[1] : '';
var rgx = /(\d+)(\d{3})/;
while (rgx.test(x1)) {
x1 = x1.replace(rgx, '$1' + ',' + '$2');
}
return x1 + x2;
}
<input type="number" onkeyup="this.value=addCommas(this.value);" />
但是,当我在 4 之后输入数字时,该字段被清除。
任何想法我哪里出错了?如果有 jQuery 解决方案,我已经在我的网站上使用它。
【问题讨论】:
-
使用基本的
for循环应该更简单 -
使用JSFiddle 无法按预期工作,但该字段未清除。
标签: javascript jquery