В коллекцию: e-mail

Тема в разделе "Регулярные выражения", создана пользователем Slayter, 24 ноя 2007.

Статус темы:
Закрыта.
Модераторы: xpert13
  1. Slayter

    Slayter

    Регистр.:
    8 апр 2006
    Сообщения:
    232
    Симпатии:
    52
    /^([a-zA-Z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,6}$/i
     
  2. RALF

    RALF черный рыцарь

    Регистр.:
    1 май 2006
    Сообщения:
    114
    Симпатии:
    25
    Пожалуйста slayter пиши немного и русского текста. А то получается голяк какой-то.
    Хотя бы напиши, Данное регулярное выражение осуществляет ....
     
  3. Slayter

    Slayter

    Регистр.:
    8 апр 2006
    Сообщения:
    232
    Симпатии:
    52
    название раздела + название сабжа = толковое описание. ёпт :)
     
  4. blackandwhite666

    blackandwhite666 Прохожие

    Если это именно проверка, а не разбиение строки то зачем тогда скобки круглые, вполне можно обойтись квадратными [A-Z]+. Так же вместо цифр можно использовать \d

    Тфу блин тема толбко для RegExp или PCRE тоже идут?

    preg_match('/^[\.\-_A-Za-z0-9]+?@[\.\-A-Za-z0-9]+?\.[A-
    Za-z0-9]{2,6}$/', $text);
     
  5. ustas76

    ustas76 Постоялец

    Регистр.:
    15 фев 2007
    Сообщения:
    140
    Симпатии:
    25
    :an:
    лучше жевать, чем говорить.
    начинать читать Mastering Regular Expression (second edition) - J.Friedl
     
  6. ustas76

    ustas76 Постоялец

    Регистр.:
    15 фев 2007
    Сообщения:
    140
    Симпатии:
    25
    Код:
    if (preg_match('/^(?:[\-a-z0-9\_\'])+(?:\.[\-a-z0-9\_\']+)*@(?:[a-z0-9]\.|[a-z0-9][-a-z0-9]{0,61}[-a-z0-9]\.)*(?:[a-z]{2}|com|edu|gov|int|mil|net|org|biz|info|name|museum|coop|aero)$/i', $mail)) {
    	# ok
    } else {
    	# failed
    }
    
    для желающих поюзать стандарт, взято из regexbuddy

    Код:
    (?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])
     
  7. stud2000

    stud2000 Прохожие

    Вот наиболее полная регурялка для проверки e-mail правда не знаю кто её пользуется =)

    http://php.spb.ru/other/mail.txt
     
  8. BFox

    BFox

    Регистр.:
    11 янв 2008
    Сообщения:
    368
    Симпатии:
    65
    Помогите создать регулярку чтобы не пропускала такого вида мыла
    ни как не могу обойти эти два @
     
  9. ustas76

    ustas76 Постоялец

    Регистр.:
    15 фев 2007
    Сообщения:
    140
    Симпатии:
    25
    а что вверху разве не подходят?
     
  10. RolCom

    RolCom

    Регистр.:
    12 мар 2008
    Сообщения:
    351
    Симпатии:
    108
    Естесно, строка "vasya@test,dim@test.com" не является e-mail-ом, поэтому регулярка ТС ее не примет.

    Добавлено через 10 минут
    Выражайся яснее: напр. надо учитывать строки, состоящие из нескольких e-mail-ов, разделенных запятыми или пробелами
    Код:
    ^\s*(?:[-\w.]+@[-\w.]+(?:,\s*|\s+|$))+$
     
Статус темы:
Закрыта.