我使用此代码限制用户不输入特殊字符
$("input").keyup(function(){
var text=$(this).val();
$(this).val(text.replace(/[^\w\d\s]/,""));
})
我想限制用户只输入一个没有空格的单词,也没有数字和特殊字符。像这样
myword #valid
myword2 #invalid
myword secondword #invalid
答案 0 :(得分:2)
这是一个jQuery插件,可以防止输入不在指定正则表达式中的键。如果你粘贴一些东西,它也有效,但是可以使用替换。
$("body").delegate("[keyfilter]", "keypress", function(event) {
var elem = $(this), filter = elem.attr('keyfilter');
if (event.charCode === 0) {
return;
}
try {
if (!String.fromCharCode(event.charCode).match(new RegExp("[" + filter + "]"))) {
event.preventDefault();
event.stopImmediatePropagation();
}
} catch(e) {}
}).delegate("[keyfilter]", "paste", function(event) {
var elem = $(this), filter = elem.attr('keyfilter');
setTimeout(function() { elem.val(elem.val().match(new RegExp("[" + filter + "]"))[0]) }, 50);
});
使用它的方式:
<input type="text" keyfilter="A-Za-z" />
答案 1 :(得分:1)
$(this).val(text.replace(/[^A-Za-z]/g,''));