下面的代码片段通过前台校验限制HTML文本框只允许输入数字[0-9]
JavaScript代码如下:
$(document).ready(function() {
$("#txtboxToFilter").keydown(function (e) {
// Allow: backspace, delete, tab, escape, enter and .
if ($.inArray(e.keyCode, [46, 8, 9, 27, 13, 110, 190]) !== -1 ||
// Allow: Ctrl+A
(e.keyCode == 65 && e.ctrlKey === true) ||
// Allow: home, end, left, right
(e.keyCode >= 35 && e.keyCode <= 39)) {
// let it happen, don't do anything
return;
}
// Ensure that it is a number and stop the keypress
if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) {
e.preventDefault();
}
});
});
实际运行效果:
请注意:
由于上述代码的校验是基于keyCode,因此是对键盘布局敏感的,而对于某些特定的键盘可能不适用,例如法式键盘,用户在需要输入数字时必须同时按下Shift键。另可使用jStepper插件。
原文链接:http://stackoverflow.com/questions/995183/how-to-allow-only-numeric-0-9-in-html-inputbox-using-jquery
本文链接:http://bookshadow.com/weblog/2014/12/03/jquery-making-textfield-only-accept-numeric-values/
请尊重作者的劳动成果,转载请注明出处!书影博客保留对文章的所有权利。