我将this solution改编成我的脚本。这个想法是为了防止用户输入未经授权的字符(当然在后端也有一个过滤器)。用于textarea的jQuery输入过滤器
$('#someinput').keyup(function() {
var $th = $(this);
$th.val($th.val().replace(/[^a-zA-Z0-9]/g, function(str) {
console.log(str);
return '';
}))
})
它的工作不错,但我还需要用户能够输入特定允许的字符,如:!?,ñáéíóú - 我的意思是,基本A-ZA-Z0-9再加上一些基本的字符和一大堆特殊语言字符。
实际需要被排除在外是什么:@#$%^ & *()= _ +“':;?!/ <> \ | {} []
任何想法感谢
解决方案感谢Michael
//query
$('#someinput').keyup(function() {
var $th = $(this);
$th.val($th.val().replace(/[@#$%\^&*()=_+"':;\/<>\\\|{}\[\]]/g,function(str){return '';}));
}).bind('paste',function(e) {
setTimeout(function() {
$('#someinput').val($('#someinput').val().replace(/[@#$%\^&*()=_+"':;\/<>\\\|{}\[\]]/g,function(str){return '';}));
$('#someinput').val($('#someinput').val().replace(/\s+/g,' '));
},100);
});
http://stackoverflow.com/questions/6565480/javascript-jquery-regex-replace-input-field-with-valid-characters看看这有助于 – Val