Использование JavaScript для проверки данных
Наряду с РНР, который производит проверку данных на стороне сервера, можно также использовать JavaScript, при помощи которого данные могут быть проверены на стороне клиента. Использование JavaScript уменьшает нагрузку на сервер, а также сокращает трафик. В то же время, если пользователь отключил использование JavaScript, всегда можно использовать проверку на стороне сервера.
К примеру, требуется проверить корректность ввода даты, которая может быть представлена в одном из двух форматов — «ДД-ММ-ГГ» или «ДД-ММ-ГГГГ». Если дата введена неверно, выводится сообщение об ошибке, и отправка данных формы блокируется. Для проверки даты написана функция на JavaScript под названием checker, которая вызывается непосредственно перед отправкой данных на сервер. В ней используются регулярные выражения, как и в примере (использование регулярных выражений не является обязательным, строка может быть проверена на корректность любым другим способом). В случае некорректного формата даты выводится сообщение об ошибке, и поле для ввода очищается. Если же дата введена верно, они отправляются на web-сервер.
<HTML> <HEAD> <TITLE>Проверка ввода даты</TITLE> <SCRIPT LANGUAGE="JavaScript"> <!-- function checker() { var regExp1 = "(\d{1,2})-(\d{1,2})-(\d{2})$/"; var regExp2 = "(\d{1,2})-(\d{1,2})-(\d{4})$/"; var result1 = document.forml.date1.value.match(regExp1) var result2 = document.forml.date1.value.match(regExp2) if (resultl == null && result2 == null) { alert("Дата введена неверно. Корректный формат ДД-ММ-ГГ или ДД-ММ-ГТГТ"); document.forml.datel.value = ""; return false } else { document.forml.submit(); } } //--> </SCRIPT> </HEAD> <BODY> <CENTER> <H1>Проверка ввода даты</H1> <FORM NAME="forml" ACTI0N="somepage.php" METH0D="POST" 0NSUBMIT="return checker()"> Введите дату: <INPUT TYPE="TEXT" NAME="datel"> <INPUT TYPE="SUBMIT" VALUE="0K"> </FORM> </CENTER> </BODY> <HTML>
Автор: Стивен Хольцнер. Переводчик: С. Банников