Регулярное выражение проверки email

Регулярное выражение проверки email

От автора: приветствую вас друзья. В этой статье мы рассмотрим различные варианты регулярных выражений для валидации emai, а также составим собственное регулярное выражение проверки email. Приступим?

Валидация адреса email — это, пожалуй, одна из наиболее распространенных задач при работе с регулярными выражениями. Это и не удивительно, поскольку email в современном вебе используется сплошь и рядом. Без него практически не обходятся при регистрации пользователей. И вот здесь нам нужно проверить, а соответствует ли введенная пользователем в поле строка формату email.

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

Это единственный 100% способ проверки email. Все прочие нам дадут лишь проверку на соответствие формату, не более. Но поскольку у нас есть задача составить регулярное выражение — давайте его составим. Тем более что его вполне можно использовать на стороне клиента, тем самым улучшив юзабилити вашей формы регистрации.

Итак, начать стоит с того, что в сети вы можете встретить массу различных вариантов регулярок для проверки email. Как вам такой вариант?

Страшно, не правда ли? Это шаблон для валидации email согласно стандарту. Я, конечно же, ни в коем разе не советую вам использовать такие шаблоны. Советую подыскать что-то попроще или составить шаблон самому. Собственно, пойду дальше — советую использовать максимально простой шаблон. Объясню почему.

Допустим вы составили или нашли правильный шаблон, который будет принимать только email, соответствующий формату. Например, я нашел вот такой:

Это первый попавшийся шаблон, который я нашел в сети. Как видим, этот шаблон работает достаточно криво, поскольку второй email был забракован. Хотя это вполне реальный email. А вот остальные, которые я придумал на ходу, были пропущены. Отсюда простой вывод: не заморачивайтесь с созданием универсальных шаблонов, поскольку пользователь вполне может придумать email. Используйте простейший шаблон, который будет проверять наличие знака @ в строке, а также наличие символов до и перед ней. К примеру, вот такая регулярка вполне сгодится:

Результат даже лучше предыдущего. Ну а на этом у меня сегодня все. Больше о регулярных выражениях вы можете узнать из нашего курса по регулярным выражениям. Удачи!

Метки:

Похожие статьи:

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

Комментарии (2)