jQuery校验文本框只允许输入数字[0-9]

下面的代码片段通过前台校验限制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/
请尊重作者的劳动成果,转载请注明出处!书影博客保留对文章的所有权利。

如果您喜欢这篇博文,欢迎您捐赠书影博客: ,查看支付宝二维码