我有一个输入类型,我想阻止用户输入像
我做到了:
$('.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;
}
});
我面临的问题是标签,正确,左和删除键无效。我还要补充一点,请帮助我。
更新代码
$('.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;
}
});
在此我面临的问题是它允许输入%。
答案 0 :(得分:0)
jQuery validate plugin
jQuery.validator.addMethod("alphanumeric", function(value, element) {
return this.optional(element) || /^[a-zA-Z0-9]+$/.test(value);
});
答案 1 :(得分:0)
因为你正在使用这个条件:
if (!regex.test(key)) {
//...
}
您需要使用此条件进行检查,它们是标签,左箭头,右箭头还是删除按钮。
if (key !== 9 && key != 37 && key!=39 && key != 46 && !regex.test(key)) {