您的位置:首页 > Web前端 > JavaScript

Js屏蔽键盘输入的某些字符,用以部分代替正则表达式

2015-04-25 20:15 549 查看
工作当中用到的:有是,用户会在文本框里输入一些无效的(错误的)内容,比如在手机号中输入#等等,一般使用正则表达式,但是只有点击的时候才会验证,用户体验不好,所以想屏蔽这些按键,让键盘根本打不出来,以下是代码(不是完全原创,参考了网上的一些例子)

代码:

input.keydown(function (evt) {
evt.stopPropagation();
if (
// Allow: backspace, delete, tab, escape, enter and .
$.inArray(evt.keyCode, [46, 8, 9, 27]) !== -1 ||
// Allow: Ctrl+A
(evt.keyCode === 65 && evt.ctrlKey === true) ||
// Allow: home, end, left, right
(evt.keyCode >= 35 && evt.keyCode <= 39)) {
// let it happen, don't do anything
return;
} else if (evt.shiftKey || (evt.keyCode < 48 || evt.keyCode > 57) && (evt.keyCode < 96 || evt.keyCode > 105)) {
if (evt.keyCode == 13) {
if (/^[0-9]*[1-9][0-9]*$/.exec(input.val()) && parseInt(input.val()) <= parseInt(pageCountEle.val())) {
pageNoEle.val(input.val());
jsMethodName();
} else {
alert("Please input a valid number!");
input.focus();
return false;
}
}
evt.preventDefault();
}
});
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐