<input type="text" onKeyUp="value=value.replace(/D/g,'')" />
onKeyUp: 当输入值的键盘抬起时触发。value表示此输入框的值,/D/g为正则表达式,用来匹配所有非数字字符;
此句功能为:将输入值为非数字的字符替换为空;
--------------------上面的做法已过时,两年后再看到这篇文章,又重新想了下这个问题。完善了代码2018-06-22---------------------
//selector为选择器名称,如 "input[name=userid]" function SetNum(selector) { $(selector).keydown(function (event) { console.info(event.keyCode); if (event.keyCode === 46 || event.keyCode === 8 || event.keyCode === 37 || event.keyCode === 39 || (event.keyCode >= 48 && event.keyCode <= 57) || (event.keyCode >= 96 && event.keyCode <= 105)) { } else if (event.keyCode > 111) { } else { event.preventDefault(); } }); //保留之前的,以为输入法输入不能中断,这时的KeyCode=229 $(selector).keyup(function (event) { this.value = this.value.replace(/[^d]/g, ''); }); }