ФорумПрограммированиеPHP для идиотов → Регулярное выражение для e-mail и его использование

Регулярное выражение для e-mail и его использование

  • ibizn

    Сообщения: 44 Репутация: N Группа: Кто попало

    Spritz 15 апреля 2008 г. 15:52

    Задача такая - проверить введенный пользователем адрес электронной почты на валидность с помощью регулярных выражений. Данные переданы методом POST. Подскажите как это можно сделать, а также как можно сразу же проверить почтовый ящик на работоспособность, то есть не левый ли это адрс. Кто-нить может мне помочь?
  • md5

    Сообщения: 11960 Репутация: N Группа: в ухо

    Spritz 15 апреля 2008 г. 15:55, спустя 3 минуты 8 секунд

    проверить левый ещик или правый нельзя
    валидность можно проверить с помощью preg_match и http://pyha.ru/forum/topic/19.0
    все умрут, а я изумруд
  • ibizn

    Сообщения: 44 Репутация: N Группа: Кто попало

    Spritz 15 апреля 2008 г. 16:20, спустя 25 минут

    А я по-моему где-то на сайте видел - "Подождите, сейчас проверится Ваш почт. ящик" или что-то подобное. А может и ошибаюсь …
  • ibizn

    Сообщения: 44 Репутация: N Группа: Кто попало

    Spritz 15 апреля 2008 г. 16:25, спустя 5 минут 1 секунду

    Со ссылкой, которую Вы дали все понятно, но мне нужен готовый шаблон для e-mail'а и пример как его использовать, то есть, например:


    if $var = preg_match($var2)
    {

    }
  • AlexB

    Сообщения: 4306 Репутация: N Группа: в ухо

    Spritz 15 апреля 2008 г. 16:28, спустя 2 минуты 53 секунды

    На те шаблон:
    ^[^@]+@[^.@]{1}[^@]+\.[A-Za-z]{2,}$


  • ibizn

    Сообщения: 44 Репутация: N Группа: Кто попало

    Spritz 15 апреля 2008 г. 16:30, спустя 2 минуты 9 секунд

    Спасибо. Alex! Как всегда ты выручешь! А тот пример, что я привел, как его модифицировать чтобы условие выполнялось ПРИ вводе нормального адреса?
  • md5

    Сообщения: 11960 Репутация: N Группа: в ухо

    Spritz 15 апреля 2008 г. 16:34, спустя 4 минуты 15 секунд

    ну и от меня шаблон: =(O-O)= &&
    все умрут, а я изумруд
  • ibizn

    Сообщения: 44 Репутация: N Группа: Кто попало

    Spritz 15 апреля 2008 г. 16:38, спустя 3 минуты 58 секунд

    Накрылся, похоже, мой регматч:

    ;(

    Fatal error: Call to undefined function reg_match() in w:\home\localhost\www\ENTER\reg.php on line 11
  • AlexB

    Сообщения: 4306 Репутация: N Группа: в ухо

    Spritz 15 апреля 2008 г. 16:47, спустя 9 минут 8 секунд

    preg а не reg
  • ibizn

    Сообщения: 44 Репутация: N Группа: Кто попало

    Spritz 15 апреля 2008 г. 16:51, спустя 3 минуты 15 секунд

    Упс…Алекс, чтоб я без тебя делал?

    Теперь

    Warning: preg_match() [function.preg-match]: Unknown modifier '@' in w:\home\localhost\www\ENTER\reg.php on line 11

    Хотя и обрабатывает - правда с одним результатом - false Не протестируешь?

    Вот код:

    if (preg_match("^[^@]+@[^.@]{1}[^@]+\.[A-Za-z]{2,}$", $_POST['em']))
    {
    echo "E-mail верен";
    }
    else
    {
    echo "E-mail НЕ верен";
    }
  • AlexB

    Сообщения: 4306 Репутация: N Группа: в ухо

    Spritz 15 апреля 2008 г. 16:54, спустя 3 минуты 8 секунд

    Регулярка обязательно ограничивается сначала и конца одним и тем же символом
    т.е. подставлять надо, например:

    #^[^@]+@[^.@]{1}[^@]+\.[A-Za-z]{2,}$#
  • ibizn

    Сообщения: 44 Репутация: N Группа: Кто попало

    Spritz 15 апреля 2008 г. 16:56, спустя 2 минуты 20 секунд

    Блин, читал же только что об этом. Спасибо, Алекс - ты - гений!

    P.S.: Я что-то должен? ;)

  • md5

    Сообщения: 11960 Репутация: N Группа: в ухо

    Spritz 15 апреля 2008 г. 17:00, спустя 4 минуты 24 секунды

    сектор пиво на барабане
    все умрут, а я изумруд
  • ibizn

    Сообщения: 44 Репутация: N Группа: Кто попало

    Spritz 15 апреля 2008 г. 17:05, спустя 4 минуты 36 секунд

    Как? Только если кто-то сейчас в Выборге…
  • AlexB

    Сообщения: 4306 Репутация: N Группа: в ухо

    Spritz 15 апреля 2008 г. 17:07, спустя 2 минуты 21 секунду

    md5, пора заводить фонд пожертвований на развитие пыхи … :)

Пожалуйста, авторизуйтесь, чтобы написать комментарий!