Создаем динамические веб-сайты с помощью PHP, MySQL и JavaScript

Печать

function validateEmail(field) {

if (field == "") return "He введен адрес электронной почтыЛп" else if (!((field.indexOf(V) > 0) && (field.indexOf("@") >0)) || /ra-zA-Z0-9.@_-]/.test(field)) return "Электронный адрес имеет неверный формат An" return

}

< / sc г i pt></ bodyX/ html >

Чтобы понять, как работает проверка, рассмотрим по очереди все эти функции, начиная с val idateForename.

Проверка имени

Предельно лаконичная функция val idateForename воспринимает параметр field, являющийся значением имени (forename), переданным ей функцией val idate. Если это значение является пустой строкой, возвращается сообщение об ошибке, если нет, возвращается пустая строка, свидетельствующая о том, что ошибка не обнаружена.

Если пользователь введет в это поле пробелы, то они будут приняты функцией val idateForename, хотя в качестве имени они не годятся. Этот просчет можно исправить, добавив еще одну инструкцию, удаляющую из поля пустые пространства перед его проверкой на незаполненность, затем воспользоваться регулярным выражением, чтобы убедиться в том, что в поле находится еще что-нибудь, кроме пробелов, или (как это сделано в данном случае) позволить пользователю допустить эту ошибку и «отловить» ее на сервере.

Проверка фамилии

Код функции validateSurname похож на код функции val idateForename, он также возвращает сообщение об ошибке, если в качестве фамилии (surname) была предоставлена пустая строка. Я решил не накладывать ограничений на символы обоих полей, чтобы пользователь мог вводить символы, не входящие в английский алфавит, имеющие дополнительные знаки и т. д.

Проверка имени пользователя

Код функции val idateUsername немного интереснее, поскольку он выполняет более сложную работу. Он должен разрешить использование только тех символов, которые входят в набор a-z, A-Z, 0-9, _ и -, и гарантировать, что имена пользователей состоят не менее чем из пяти символов.

Код структуры if.. .else начинается с возвращения сообщения об ошибке в том случае, если поле не было заполнено. Если значение поля не является пустой строкой, но состоит менее чем из пяти символов, то возвращается другое сообщение об ошибке.

Затем вызывается JavaScript-функция test, которая сравнивает регулярное выражение (соответствующее любому символу, не входящему в перечень раз