我將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