限制文本字段输入仅限数字

Hus*_*ain 4 html javascript forms

我搜索过谷歌,但我能找到的所有解决方案都非常复杂和冗长.我需要的是限制我正在进行的调查中的文本字段的输入仅限于数字.什么是最快最干净的方法?

(我正在使用HTML 4.01严格和ECMAScript)

提前致谢.

pib*_*pib 7

最快的:

<input type="text" onkeyup="this.value = this.value.replace(/\D/g, '')">
Run Code Online (Sandbox Code Playgroud)

这不会阻止人们用鼠标粘贴东西,所以也可能需要改变和onclick.

最干净(或至少干净的方式):

function forceNumeric() {
    this.value = this.value.replace(/\D/g, '');
}
Run Code Online (Sandbox Code Playgroud)

如果您正在使用JS框架,请​​为所有数字输入提供一个指示事实的(class ="numeric"或类似的东西),并添加forceNumeric作为keyup的回调,更改单击任何输入该类的元素:

$('.numeric').keyup(forceNumeric).change(forceNumeric).click(forceNumeric);
Run Code Online (Sandbox Code Playgroud)

如果您正在使用直接JS(我建议不使用直接JS),请使用element.addEventListeneronkeyup,onchangeonclick.