将输入框限制为仅数字0-9

时间:2013-08-09 22:51:35

标签: javascript

如何限制输入框仅使用数字。

因此,如果用户要输入a-z中的任何内容,则无法在输入框中输入。

对某些人来说这似乎很容易,但对我而言,这听起来像是火箭科学。

请不要jQuery。

<!DOCTYPE html>

<html>

<head>

</head>

<body>

<input type="text" id="numbersonly" />

</body>

</html>

2 个答案:

答案 0 :(得分:27)

您可以使用HTML5 number类型

的输入
<input type="number" />

或javascript,作为number类型的输入,really limit仅输入数字:

document.getElementById('numbersonly').addEventListener('keydown', function(e) {
    var key   = e.keyCode ? e.keyCode : e.which;

    if (!( [8, 9, 13, 27, 46, 110, 190].indexOf(key) !== -1 ||
         (key == 65 && ( e.ctrlKey || e.metaKey  ) ) || 
         (key >= 35 && key <= 40) ||
         (key >= 48 && key <= 57 && !(e.shiftKey || e.altKey)) ||
         (key >= 96 && key <= 105)
       )) e.preventDefault();
});

FIDDLE

答案 1 :(得分:7)

使用HTML5

<input type="number">

您还可以使用Modernizr来实现向后兼容性