Проверка E-mail адреса с помощью PHP

В этом уроке я Вам покажу, как проверить, является ли действительным электронный адрес. Когда Вы регистрируетесь на сайте, обычно идет проверка электронного адреса, который Вы ввели в соответствующее поле. Это можно сделать с помощью регулярных выражений. Нам нужно только проверить совпадает ли введенный электронный адрес с регулярными выражениями.

ereg("^[a-zA-Z0-9_]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$]",  $email);

В этот момент проверяется только строка, но не выводит ошибку. Так что в следующим действием нам нужно сделать вывод ошибки. Если строка не совпадает с регулярными выражениями, то возвращается логическое значение.

				if (eregi("^[a-zA-Z0-9_]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$]",  $email)) { 
					return  FALSE; 
			    }
				

Это основные методы проверки. Но иногда пользователи пишут вроде правильно, например, 123@123.123. Такого адреса не существует. И для этого мы будем проверять имя домена после @ на реальность ввода доменного имени. Делаем проверку на существование MX записи для этого домена, а затем проверяем, если порт 25 закрыт – это нам гарантирует, что домен используеться.

				list($Username,  $Domain) = split("@",$email);
				if(getmxrr($Domain,  $MXHost)) {
					return  TRUE;
			    } else {
					if(fsockopen($Domain,  25, $errno, $errstr, 30)) {
						return  TRUE; 
					} else {
						return  FALSE; 
					}
			    }
				

Для облечения работы, последние два выражение запишем в виде функции. После создания функции, мы можем ее использовать снова и снова.

			    function  checkEmail($email) {
					if(eregi("^[a-zA-Z0-9_]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$]",$email)) {
						return  FALSE;
					}
					list($Username,  $Domain) = split("@",$email);
					if(getmxrr($Domain,  $MXHost)) {
						return  TRUE;
					} else {
						if(fsockopen($Domain,  25, $errno, $errstr, 30)) {
							return  TRUE; 
						} else {
							return  FALSE; 
						}
					}
			    }
			    

Теперь все, что нам требуется, это проверить наш код. Для этого пропишем маленький код. Когда Вы хотите сделать проверку электронного адреса, просо введите электронный адрес, как значение функции.

				if(checkEmail(johndoe@example.com)  == FALSE) {
					echo  "E-mail адрес не правильный.";
			    } else {
					echo  "E-mail адрес  правильный.";
			    }
				

Вот и все! Пользуйтесь!

Просмотров: 5690      Опубликовал: Евгений Фединчик      Дата: 29.03.2010 11:19:11
  • Понравился урок? Добавьте его к себе в закладки.

    Последние уроки категории:

    Сокращение PHP кода

    Вы задумывались когда — нибудь о том, что лишний и бесполезный код убивает ваше время разработки приложения/сайта. Хотя это и кажется мелочью, но когда такой мелочи становится много, то время, потраченное впустую, становится ценным. И так давайте посмотрим, что можно и нужно сокращать...

    Видимость переменных в PHP

    В данном уроке рассматривается область видимости переменных PHP. Объясняется различие локальной и глобальной области видимости, показывается как получить доступ к глобальным переменным внутри функции, как работать с суперглобалами и создавать статические переменные.

    Как читать Rss ленты?

    Читалки и агрегаторы RSS используются для доступа, чтения и управления периодически-обновляемыми лентами RSS (или Atom), которые генерируются веб-сайтами. Эти ленты предоставляют доступ к последним материалам с этих сайтов.

    Установка и настройка PHP+Apache

    В этом уроке хотелось бы поднять очень интересную тему – Установка и настройка веб сервера PHP5 + Apache. В интернете довольно много различных инструкций по данной теме, но только вот в основном это копипаст, а не инструкция для человека, я же постараюсь объяснить все намного проще – на пальцах. Причина для установки локального вебсервера довольно много, например скорость выполнения и отладки скриптов, простота загрузки и модернизации контента и еще много чего.

    Как выбрать фреймворк

    Так уж повелось, что лень – это двигатель прогресса и как бы странно это не звучало, все те блага цивилизации, которые мы имеем сейчас были сделаны в первую очередь для нашего комфорта. Так и программисты чтобы облегчить себе жизнь и тем самым получить возможность создавать более сложные проекты за менее долгое время придумали сделать себе фреймворки.

    Комментарии:

    • Василий 06.06.2010 21:06:46
      Здорово придумано насчет проверки порта, пойду пробовать =)
      Ответить
    • Осталось: 1000 символов.
      Сохранить комментарий Отправка комментария
    lessons
    downloads
    search
    hosting

    Ищите хороший и не дорогой хостинг?

    Хостинг avahost.ua
    VPS VDS - виртуальный выделенный сервер
    sistems
    RBK Money

    Обменник.ws
    Статистика HitUa