Проверка ввода на JavaScript
Очень часто возникает необходимость в организации проверки текста в поля при заполнении формы, будь то форма регистрации на сайте или форма публикации объявления в каталог. Такого рода проверка имеет как свои преимущества (ненужно посылать POST запрос, перезагружать страницу), так и свои недостатки (не будет работать при отсутствии поддержки JS браузером). Замечу, что реализуя проверку данных на стороне клиента, стоит подстраховываться и организовывать дополнительную проверку вводимых данных на стороне сервера.
И так, опишу пример проверки с использованием JavaScript. Код скрипта который позволяет вводить в поле только цифры:
function OnlyNum(e) { var keynum; var keychar; var numcheck; var return2; if(window.event) // IE { keynum = e.keyCode; } else if(e.which) // Netscape/Firefox/Opera { keynum = e.which; } keychar = String.fromCharCode(keynum); if (keynum < 45 || keynum > 57) { // разрешаем только ввод цифр return2 = false; if (keynum == 8) return2 = true; // разрешаем нажатие клавиши backspace } else return2 = true; return return2; } |
HTML код поля в форме, для ввода данных, будет выглядеть так:
<input type="text" name="price" onkeypress="return OnlyNum(event)"> |
Таким образом, можно организовать проверку на ввод любых символов, установить различные запреты, фильтры и маски. Только помните, что особо увлекаться такими примочками не стоит, да и смыла особого нет, т.к. при желании это можно легко обойти. Поэтому проверка входящих данных всегда должна быть реализовать на стороне сервера(в данном случае это будет дублирующая проверка).
Делать такую проверку ввода стоит только лишь тогда, когда это действительно будет повышать удобство использования сайта.

Автор:







Проверка ввода не срабатывает, если данные в поле, вставляются через ctrl+v.