如何在没有 jquery 或任何库的情况下只允许在此文本框中写入数字?
<input type="text" class="textfield" value="" id="extra7" name="extra7">
如何在没有 jquery 或任何库的情况下只允许在此文本框中写入数字?
<input type="text" class="textfield" value="" id="extra7" name="extra7">
您可以订阅 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;
}
使用 HTML5,您可以做到
<input type="number">
您还可以使用正则表达式模式来限制输入文本。
<input type="text" pattern="^[0-9]*$" />
您还可以使用一些 HTML5 属性,某些浏览器可能已经利用了它们 ( type="number" min="0"
)。
无论您做什么,请记住在服务器端重新检查您的输入:您永远不能假设已经执行了客户端验证。