Проверка ввода на JavaScript

Author Автор: Роман Чернышов    Опубликовано: 8 октября 2010

Проверка ввода на яваскриптОчень часто возникает необходимость в организации проверки текста в поля при заполнении формы, будь то форма регистрации на сайте или форма публикации объявления в каталог. Такого рода проверка имеет как свои преимущества (ненужно посылать 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)">

Таким образом, можно организовать проверку на ввод любых символов, установить различные запреты, фильтры и маски. Только помните, что особо увлекаться такими примочками не стоит, да и смыла особого нет, т.к. при желании это можно легко обойти. Поэтому проверка входящих данных всегда должна быть реализовать на стороне сервера(в данном случае это будет дублирующая проверка).

Делать такую проверку ввода стоит только лишь тогда, когда это действительно будет повышать удобство использования сайта.

1 Comment to “Проверка ввода на JavaScript”

  • Юрий Карпов 08.10.2010 в 8:30 пп

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

Оставить комментарий

Автор блога
Чернышов Роман
Роман Чернышов
Веб-разработчик, Full Stack
Senior, Architector
PHP, JavaScript, Python, HTML 5, CSS 3, MySQL, Bash, Linux Admin
Заказать работу
предложить оффер

Последние вопросы
Список вопросов
Последние комментарии
Меню

Archive

Мои проекты
Insurance CMS Love Crm CMS Совместные покупки Мой PHP Framework Хостинг для моих клиентов Лицензии на мой софт и поддержка