Я адаптировал это решение в свой скрипт. Идея состоит в том, чтобы запретить пользователю вводить неавторизованные символы (конечно, есть и фильтр на конце).
$('#someinput').keyup(function() {
var $th = $(this);
$th.val( $th.val().replace(/[^a-zA-Z0-9]/g, function(str) {
console.log(str);
return '';
}))
})
Это хорошо работает, но мне также нужно, чтобы пользователи могли набирать определенные разрешенные символы, такие как:.,!? -? символы специального языка.
Что на самом деле нужно пропустить: @ # $% ^ & * () = _ + "':; / <> \ | {} []
Есть идеи? Спасибо!
Решение благодаря Майкл
//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);
});