我正在尝试输入数字。我做了,所以我的文本框只能通过该代码接受数字:在数字之间添加空格?
function isNumber(evt) {
evt = (evt) ? evt : window.event;
var charCode = (evt.which) ? evt.which : evt.keyCode;
if (charCode > 31 && (charCode < 48 || charCode > 57)) {
return false;
}
return true;
}
但现在的问题来,我将如何创造空间为用户键入他们的人数,很像iPhone的电话间距的事情,但是如果输入的数字是1000,那么它将变成1 000;
1
10
100
1 000
10 000
100 000
1 000 000
10 000 000
100 000 000
1 000 000 000
等...
我试图读取每个3个字符右侧的输入并添加一个空格。但我的方式效率低下,当我在文本框中将值从1000更改为1 000时,它会因某种原因选择它,然后在此之后进行任何按键操作,将整个事件擦除。
如果你知道如何做到这一点,请不要使用jQuery等javascript插件。谢谢。
一句警告:这确实很难正确。如果我在输入中间点击鼠标并添加一个数字,该怎么办?我在什么地方移动光标并点击粘贴?撤销和重做有多好?处理键盘输入比接受正确类型的字符序列要多得多。 – RichieHindle