我将此解决方案改编为我的脚本。这个想法是为了防止用户输入未经授权的字符(当然后端还有一个过滤器)。
$('#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 加上一些基本字符和一大堆特殊语言字符.
实际上需要省略的是:@#$%^&*()=_+"':;/<>\|{}[]
有任何想法吗?谢谢!
感谢迈克尔的解决方案
//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);
});