仅允许在文本框中键入数字

时间:2011-09-03 20:58:12

标签: javascript

  

可能重复:
  How to allow only numeric (0-9) in HTML inputbox using jQuery?

如何只允许在此文本框中写入数字?

<input type="text" class="textfield" value="" id="extra7" name="extra7">

3 个答案:

答案 0 :(得分:214)

您可以订阅onkeypress事件:

<input type="text" class="textfield" value="" id="extra7" name="extra7" onkeypress="return isNumber(event)" />

然后定义isNumber函数:

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;
}

您可以在action here中看到它。

答案 1 :(得分:37)

使用HTML5,您可以

<input type="number">

您还可以使用正则表达式模式来限制输入文本。

<input type="text" pattern="^[0-9]*$" />

答案 2 :(得分:15)

您还可以使用某些HTML5属性,某些浏览器可能已经利用它们(type="number" min="0")。

无论你做什么,记得在服务器端重新检查你的输入:你永远不能假设已经执行了客户端验证。