Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: провeркa дaнных
Форумы портала PHP.SU » PHP » Регулярные выражения » провeркa дaнных

Страниц (1): [1]
 

1. nymphetamin2004 - 24 Июля, 2010 - 09:43:00 - перейти к сообщению
Давайте в этой теме перечислим все возможные наилучшие варианты проверки с помощью регулярных выражении. Требуется:
1. Проверка e-mail
2. Логина
3. Ссылок
4. Имени на русском языке
5. Icq
И прочего.
2. qbik - 24 Июля, 2010 - 11:53:48 - перейти к сообщению
в гугле забанили? http://m[dot]habrahabr[dot]ru/post/66931/
3. JustUserR - 30 Июля, 2010 - 15:36:16 - перейти к сообщению
nymphetamin2004 пишет:
Проверка e-mail
Если вас интересует проверка существования email не только с синтаксической точки зрения - но и в плане существования реального почтового домена и обслужвающего его MTA-сервера - то можете поспользоваться этим сервисом http://www[dot]domw[dot]net/service:network-email Разумеется гарантированно проверяться будет только работоспособность почтового домена - поскольку существования самих email-имен до знака @ зависит от самого почтового сервера и может проверяться разве что на основе возвратных сообщений о несуществовании соответствущего email-адреса
4. Joo - 03 Августа, 2010 - 05:49:11 - перейти к сообщению
nymphetamin2004 пишет:
Давайте в этой теме перечислим все возможные наилучшие варианты проверки с помощью регулярных выражении. Требуется:
1. Проверка e-mail
CODE (htmlphp):
скопировать код в буфер обмена
  1. '/[a-z0-9!#$%&\'*+\/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&\'*+\/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/i'

2. Логина
CODE (htmlphp):
скопировать код в буфер обмена
  1. '/[a-z]{1}[a-z\d_-]{2,}/i'

3. Ссылок
CODE (htmlphp):
скопировать код в буфер обмена
  1. '\b(https?|ftp)://([-A-Z0-9.]+)(/[-A-Z0-9+&@#/%=~_|!:,.;]*)?(\?[-A-Z0-9+&@#/%=~_|!:,.;]*)?'

4. Имени на русском языке
Тут главное с кодировкой не пролететь.
5. Icq

CODE (htmlphp):
скопировать код в буфер обмена
  1. '/\d{4,9}/i'


Да и еще хорошо любое рег выражение обрамлять символами ^$ если в переменной должно быть только и только искомое выражение.

з.ы. Регулярные выражения из библиотеки RegexBuddy (частично)
5. JustUserR - 04 Августа, 2010 - 15:59:25 - перейти к сообщению
Joo пишет:
4. Имени на русском языке
Тут главное с кодировкой не пролететь.
В таком случае как правило можно использовать регулярные выражения с разрешающим а не запрещающим шаблоном - ведь внутри PHP-скрипта представление строковых данных осуществляется в одной заданной кодировке и соответственно правильность данных проверяется также в ней Соответственно если пользователь введет заведомо недопустымые данные или сменит кодировку то PHP-скрипт ему сообщит об ошибке - а если какое-то выражение и будет пропущено то это означает что с точки зрения текущей кодировки оно является правильным Если же использовать шаблон со списком недопустимых символов - то пользователь может отправить данные в другой кодировке и они уже не будут сооветствовать запрещающему шаблону

 

Powered by ExBB FM 1.0 RC1