Сегодня я расскажу о полезном сниппете, используя который, можно организовать запрет ввода символов в поля формы. Подобный функционал очень важен для защиты от хакерского взлома, ведь мало кто обрадуется, зайдя в одно прекрасное утро на свой сайт и увидев табличку «hacked by Вася Пупкин». Помните, проверять поля форм на наличие «вредоносных» символов очень важно!
Запрет ввода символов мы реализуем при помощи библиотеки jQuery. В этом случае проверка у нас будет происходить еще до отправки данных на сервер.
После того, как вы подключите библиотеку, можно смело применять функцию:
function onlyNumbers(el){
el.on("change keyup input click", function(){
if(this.value.match(/[^0-9]/g)){
this.value = this.value.replace(/[^0-9]/g, "");
};
});
return false;
};
Как вы могли заметить, мы пользовались jQuery методом on(), передав ему четыре значения параметра событий: change, keyup, input, click. Это позволяет отследить все изменения в поле ввода, а, впоследствии, через регулярное выражение, отсечь ненужные символы. В примере мы оставляем только числа, что идеально подойдет для поля с вводом номера телефона. Для других полей можно использовать аналогичную функцию, заменив в ней регулярное выражение на нужное.