воскресенье, 29 января 2012 г.

PHP - как проверить email на корректность

На дворе уже PHP 5.3, а некоторые программисты до сих пор проверяют email с помощью своих регулярок.
В версии 5.2 появилась отлична возможность проверить email одной строчкой без лишней заморочки:
filter_var('test@mail.ru', FILTER_VALIDATE_EMAIL); // >> test@mail.ru

filter_var('test@mail', FILTER_VALIDATE_EMAIL); // >> false

filter_var(array(22,32), FILTER_VALIDATE_EMAIL); // >> false
Функция filter_var в случае удачи вернет само значение, иначе false.
Эту полезную функцию можно использовать не только для проверки email`ов, а так же для проверки ip, url, integer и еще пара фильтров.

P.S. лучше использовать данную функцию на продакшене для проверки email, если у вас свежая версия php, т.к. существовал баг при проверке фантастически длинных email`ов, но в версии PHP 5.3.3 его по фиксили (#49576).