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

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

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

 

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

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

тема: Как проверить Email
 
 автор: bigstalker   (05.02.2008 в 18:45)   письмо автору
 
 

Как проверить есть ли в строке @ или нет. То есть соответствует формат строки e-Mail (ххх@ххх.ххх), или нет?

   
 
 автор: kasmanaft   (05.02.2008 в 18:56)   письмо автору
 
   для: bigstalker   (05.02.2008 в 18:45)
 

> Как проверить есть ли в строке @
Это можно сделать с помощью strpos()

> То есть соответствует формат строки e-Mail (ххх@ххх.ххх)
Это можно проверить с помощью регулярных выражений. В соответствующем разделе примеров....... очено много.

   
 
 автор: bigstalker   (05.02.2008 в 19:09)   письмо автору
 
   для: kasmanaft   (05.02.2008 в 18:56)
 

>В соответствующем разделе примеров....... очено много.
если вас не затруднит можно ссылку, или в каком именно разделе?Спасибо!

   
 
 автор: Mookapek   (05.02.2008 в 19:09)   письмо автору
 
   для: bigstalker   (05.02.2008 в 18:45)
 

<?php
if (!preg_match("/^[-0-9a-z_\.]+@[-0-9a-z_^\.]+\.[a-z]{2,6}$/i"$email)) exit("Это не e-mail");
?>

   
 
 автор: bigstalker   (05.02.2008 в 19:12)   письмо автору
 
   для: Mookapek   (05.02.2008 в 19:09)
 

Спасибо огромное

   
 
 автор: Faraon   (05.02.2008 в 22:10)   письмо автору
 
   для: Mookapek   (05.02.2008 в 19:09)
 

Что-то не в курсе, что символ ^ разрешен для доменных имен.

   
 
 автор: ddhvvn   (05.02.2008 в 22:32)   письмо автору
 
   для: Faraon   (05.02.2008 в 22:10)
 

Нет, просто этот символ запрещает следующие за ним символы =))

   
 
 автор: Evgen   (05.02.2008 в 22:53)   письмо автору
 
   для: ddhvvn   (05.02.2008 в 22:32)
 

.[a-z]{2,6}


... А что и шесть символов тож бывает 8\
(в продолжение вопроса Faraona)

   
 
 автор: Faraon   (06.02.2008 в 00:02)   письмо автору
 
   для: Evgen   (05.02.2008 в 22:53)
 

Шесть символов бывает, например домен первого уровня museum.

   
 
 автор: Mookapek   (06.02.2008 в 00:15)   письмо автору
 
   для: Faraon   (06.02.2008 в 00:02)
 

еще travel есть.

   
 
 автор: Faraon   (05.02.2008 в 23:50)   письмо автору
 
   для: ddhvvn   (05.02.2008 в 22:32)
 

>Нет, просто этот символ запрещает следующие за ним символы =))

Да ну, а вот так будет по другому работать?
<?php 
if (!preg_match("/^[-0-9a-z_\.]+@[-0-9a-z_\.]+\.[a-z]{2,6}$/i"$email)) exit("Это не e-mail"); 
?> 


P.S. В данном случае считается, что ^ символ в перечислении символов которые могут быть в домене.

   
 
 автор: Freddie_X   (06.02.2008 в 18:37)   письмо автору
 
   для: Faraon   (05.02.2008 в 23:50)
 

Надо учитывать ещё, что бывают адреса типа xxx@xxx.xxx.xxx, т.е. с доменом 3-его уровня

   
 
 автор: Faraon   (06.02.2008 в 21:53)   письмо автору
 
   для: Freddie_X   (06.02.2008 в 18:37)
 

>Надо учитывать ещё, что бывают адреса типа xxx@xxx.xxx.xxx, т.е. с доменом 3-его уровня
Ну и в чем прикол, и Ваш пример впишется. :)

   
 
 автор: Freddie_X   (06.02.2008 в 22:22)   письмо автору
 
   для: Faraon   (06.02.2008 в 21:53)
 

Моё сообщение - как бы подтверждение вашему РВ. =Ъ

   
Rambler's Top100
вверх

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