PHP уроки
ПРОСТО самая лучшая обучалка PHP!
  • Студия LPHPRU
  • Уроки PHP
  • Контакты
  • Помощь
Меню
  • PHP - с чего начать?
  • Уроки PHP
  • Функции PHP
  • Массивы
  • Denwer
  • MySQL
  • Информация
  • Dreamweaver уроки
  • JQuery уроки
Календарь
Июнь (2023)
ПнВтСрЧтПтСбВс
   1234
567891011
12131415161718
19202122232425
2627282930  

  • Что нового?

    • Тест №2
    • Тест №1 для разработчиков
    • PHP 5.6 RC1
    • SQL. Как cкопировать данные одной колонки в другую, в той же таблице
    • GRUB изменить порядок загрузки OS в Linux
    • SSH - вход на сервер без ввода пароля
    • PhpMyAdmin - проблема с загрузкой большого файла на сервер
  • Комментарии

    • тут нечего не понятно
    • Может уже пора на WebStorm переходит�...
    • Здравствуйте. 10 лет пользуюсь др�...
    • Была такая проблема, решалась пе�...
    • Возможно с течением времени этот...
  • TOP-5

    • Метод POST (2946433 )
    • Привет, МИР! (911226 )
    • Метод GET (667805 )
    • Операторы (606044 )
    • Firefox уже запущен, но не отвечает... (353682 )

Проверка правильности написания email адреса.

Главная» Array » Проверка правильности написания email адреса.
PHP урок № 210
Паттерн (англ. pattern) — английское слово, значение которого передается по-русски словами «шаблон», «система», «структура», «принцип», «модель», также это слово имеет значение «узор». Из-за применения его в различных западных дисциплинах и технологиях в русскоязычную среду оно проникло как специфический термин сразу в нескольких сферах деятельности. По набору смыслов и интерпретаций в различных контекстах это слово до некоторой степени коррелирует с некоторыми смыслами греческого слова характер (в переводе с греческого характер - это печать, чеканка, отличительная черта).

Википедия
Будем считать, что стандартный адрес электронной почты выглядит так: [email protected]
Адрес состоит из двух частей это:
admin - имя пользователя.
  • mail.ru - домен, доменное имя.
  • Их разделяет знак @(собака).
    Имя пользователя - может состоять из букв разного регистра, цифр, знаков подчёркивания, точек, минусов.
    Доменное имя - так же может состоять из букв разного регистра, цифр, знаков подчёркивания, точек, минусов.
    В результате паттерн (шаблон), с которым функция будет сравнивать email адрес, может выглядеть так:
    1. "[-0-9a-z_\.]+@[-0-9a-z_^\.]+" - это часть паттерна (шаблона), проверяющая имя пользователя, собаку и домен второго уровня до точки
    2. "\.[a-z]{2,6}" - эта часть проверяет домен первого уровня (ru,com,ua и т.д.).
    Объединим всё и получим такой шаблон:
    "|[-0-9a-z_\.]+@[-0-9a-z_^\.]+\.[a-z]{2,6}|i"
    В конце шаблона присутствует модификатор i он сообщает интерпретатору, что поиск проводится без учёта регистра, т.е. могут присутствовать и заглавные буквы и прописные.
    Для того чтобы шаблон проверял чётко лишь email адрес, к нему следует добавить знак начала строки ^ и конец строки $.
    "|^[-0-9a-z_\.]+@[-0-9a-z_^\.]+\.[a-z]{2,6}$|i"
    Листинг № Array - Проверка корректности ввода email-адреса
    <form name="form1" method="post" action=""> <label>Введите email-адрес<br> <input type="text" name="email" id="textfield"> </label> <label> <input type="submit" name="button_22" id="button" value="Проверить"> </label> </form>
    <?php 

    if($_POST['button_22'] == "Проверить")
    {
            if(!empty(
    $_POST['email']))
            {
               if(
    preg_match("|^[-0-9a-z_\.]+@[-0-9a-z_^\.]+\.[a-z]{2,6}$|i", $_POST['email']))
               {
                  echo 
    $_POST['email']. "  -   Правильный.";
               }
               else
               {
                  echo 
    $_POST['email']. "  -   НЕ правильный.";   
               }
            }
            else
            {
               echo 
    "Вы не ввели email.";    
            }
    }

    ?>
    Более полную информацию по работе с регулярными выражениями, можно получить из этой книги, на сегодняшний день самое лучшее издание описывающие всю мощь регулярных выражений.
    Урок закончен.
    Обсудить на форуме.
    SETTER © LPHP.RU
    Администрация сайта
    Array
    • lphp.ru © 2009-2023