jquery验证号错误

时间:2017-07-06 04:44:34

标签: jquery validation keydown

我想使用jQuery来验证输入它必须只接受字母表代码正在工作键盘中的数字是不允许的,但是小键盘数字正在键入可以用这个做什么

$("#fname").keydown(function(event) {
   var keyentered = event.keyCode || event.which;
   keyentered = String.fromCharCode(keyentered);
   var pattern = /[a-zA-Z]+|[\b]+$/;
   if(!pattern.test(keyentered)){
     event.returnValue = false;
     if(event.preventDefault) event.preventDefault();
   }
});

这是我的代码,它不能接受任何特殊的字符和数字,但它接受来自numpad的数字而不接受键盘上面的字母,我想知道为什么以及如何解决这个问题。

需要帮助!

1 个答案:

答案 0 :(得分:0)

这应该可以正常工作。下面的代码只允许字母表使用jQuery在文本框中输入。

$("#fname").keydown(function (e) {
    // Allow backspace, delete, 
    // Allow select all the alphabet entered in textbox using Ctrl+A or Command+A
    // Allow: home, end, left, right, down and up to navigate in textbox if any changes want to do
    if ($.inArray(e.keyCode, [8, 46]) !== -1 ||
            (e.keyCode === 65 && (e.ctrlKey === true || e.metaKey === true)) ||
            (e.keyCode >= 35 && e.keyCode <= 40)) {
        return;
    }
    // Below code is to only allow alphabet and stop propogation on entering other char
    if ((e.shiftKey || (e.keyCode < 65 || e.keyCode > 90)) && (e.keyCode < 65 || e.keyCode > 90)) {
        e.preventDefault();
    }
});