【发布时间】:2014-11-07 11:29:33
【问题描述】:
我有一个输入类型,我想阻止用户只输入 字母数字 值,例如 A-a 和 0-9。
我已经这样做了:
$('.name_list').live('keypress', function (event) {
var regex = new RegExp("^[a-zA-Z0-9\b]+$");
var key = String.fromCharCode(!event.charCode ? event.which : event.charCode);
if (!regex.test(key)) {
event.preventDefault();
return false;
}
});
在此我面临 tab、right、left 和 delete 键不起作用的问题。我还有什么要补充的,请帮助我。
更新代码
$('.name_list').live('keypress', function (event) {
var regex = new RegExp("^[a-zA-Z0-9\b]+$");
var key = String.fromCharCode(!event.charCode ? event.which : event.charCode);
var charCode = (event.which) ? event.which : event.keyCode;
var Enteted = String.fromCharCode(event.which).toLowerCase();
if (charCode != 9 && (charCode != 37 || Enteted !='%') && charCode!=39 && charCode != 46 && !regex.test(key)) {
event.preventDefault();
return false;
}
});
在此我面临允许输入 % 的问题。
【问题讨论】:
-
这些都不起作用
-
live已弃用,请改用on。
标签: javascript jquery