可能重复:
How to allow only numeric (0-9) in HTML inputbox using jQuery?
如何只允许在此文本框中写入数字?
<input type="text" class="textfield" value="" id="extra7" name="extra7">
答案 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"
)。
无论你做什么,记得在服务器端重新检查你的输入:你永远不能假设已经执行了客户端验证。