phantik, У меня правки меньше в 2 раза. Но тоже не работает правильная проверка мыла. Если вставляю выражение в форму check_pattern="^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$" XML Начинает ругаться не цензурной бранью.
Вот пока что сделал так, но тут проверка на заполненность, например если стоит максимальное кол-во знаков 350, мы не вводим не одного символа, кнопка "Отправить" не загорается, как только мы вводим хотя бы один символа она становится активной. Как сделать чтобы некоторые поля можно было оставлять пустыми и ограничение вводилось только по количеству знаков?
CCron, проверка на заполненность обязательных полей формы с помощью JavaScript-а реализована в XSL-шаблоне "ОтобразитьФорму". Можете взять реализованную там логику за основу.
phantik,
Спасибо, Ваш способ очень хорош и мне помог. Правда, таким образом проверяется на корректность только вторая часть e-mail (после @). А вот такие адреса Ваш способ пропускает: A55n- 5@lnaQrk.EH (пробела в первой части быть не должно).
На форуме попадался другой способ, содержащий примерно такую конструкцию: Цитата:
if (! preg_match("/^([a-z,0-9,_,.])+\@([a-z,0-9])+(\.([a-z,0-9])+)+$/", $site_users_email_bie))
{ $message = 'Неправильный email!'; }
Он не совсем хорош, потому что "правильные" email адреса часто содержат знаки "-", "+" и т.п. (до "@", и такие адреса определяются им как некорректные.
Нашла другой способ, по-моему, он будет как раз дополнением к функции getmxrr: Цитата: