我想使用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的数字而不接受键盘上面的字母,我想知道为什么以及如何解决这个问题。
需要帮助!
答案 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();
}
});