このソリューションをスクリプトに適合させました。アイデアは、ユーザーが許可されていない文字を入力できないようにすることです(もちろん、バックエンドにもフィルターがあります)。
$('#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);
});