Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Проверка мыла
 
 автор: serjinio   (13.09.2008 в 23:33)   письмо автору
 
 

помогите добавить в
preg_match("/[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}/i", $email)

запрет использования \n и \r

  Ответить  
 
 автор: xx77   (14.09.2008 в 09:55)   письмо автору
 
   для: serjinio   (13.09.2008 в 23:33)
 

в этом выражении нет символа, который совпал-бы с переносом строки.
только если проверяется ввод пользователем этой строки
, а не строки в которой присутствует совпадающая строка, то нужно указать
начало и конец строки - метасимволы ^ и $

получается "/^[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}$/i"

в классе символов или назвать наборе символов [0-9a-z_^\.]
символ ^ будет соответствовать сам себе , а никак не укажет что не должно быть точки
этот символ имеет значение внутри класса как приставка "Не" к символам только если расположен самым первым.
это [0-9a-z_]+ само по себе не совпадёт не с одной точкой.

значит в таком виде "/^[0-9a-z_]+@[0-9a-z_]+\.[a-z]{2,3}$/i" пропустит большинство настоящих emailов
хоть и не все. Не предусмотренна попытка ввести
длинные-длинные слова , которые тоже могут совпасть с этими [0-9a-z_]+ ,
но возможно у Вас в предварительно усекаются длинные вводимые данные
или что-то типа "/^[0-9a-z_]{2,24}@[0-9a-z_]{2,24}\.[a-z]{2,3}$/i" тоже пропустит основную массу адресов

позже пользователи Вам пожалуются , если у кого-то не пролезет адрес ))
в доменных именах адресов если не "только и" то "чаще" встречается - чем _
они-же, имена, могут иногда быть не с одной точкой.
в начале, "/^[0-9a-z_]{2,............. , тоже бывает '-' и '.'
[a-z]{2,3} может быть .info .name .....

  Ответить  
 
 автор: serjinio   (14.09.2008 в 16:34)   письмо автору
 
   для: xx77   (14.09.2008 в 09:55)
 

Огромнейшее Вам спасибо очень доходчиво разъяснили.. все разобрался

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования