От автора: приветствую вас друзья. В этой статье мы рассмотрим различные варианты регулярных выражений для валидации emai, а также составим собственное регулярное выражение проверки email. Приступим?
Валидация адреса email — это, пожалуй, одна из наиболее распространенных задач при работе с регулярными выражениями. Это и не удивительно, поскольку email в современном вебе используется сплошь и рядом. Без него практически не обходятся при регистрации пользователей. И вот здесь нам нужно проверить, а соответствует ли введенная пользователем в поле строка формату email.
Сразу отмечу, что наиболее точный ответ даст только вариант с обратной связью. Суть его заключается в том, что по введенному адресу отправляется письмо со ссылкой, по которой пользователь должен перейти для подтверждения регистрации. Соответственно, регистрация будет завершена только в том случае, если пользователь ввел реальный email.
Это единственный 100% способ проверки email. Все прочие нам дадут лишь проверку на соответствие формату, не более. Но поскольку у нас есть задача составить регулярное выражение — давайте его составим. Тем более что его вполне можно использовать на стороне клиента, тем самым улучшив юзабилити вашей формы регистрации.
Итак, начать стоит с того, что в сети вы можете встретить массу различных вариантов регулярок для проверки email. Как вам такой вариант?
Страшно, не правда ли? Это шаблон для валидации email согласно стандарту. Я, конечно же, ни в коем разе не советую вам использовать такие шаблоны. Советую подыскать что-то попроще или составить шаблон самому. Собственно, пойду дальше — советую использовать максимально простой шаблон. Объясню почему.
Допустим вы составили или нашли правильный шаблон, который будет принимать только email, соответствующий формату. Например, я нашел вот такой:
Это первый попавшийся шаблон, который я нашел в сети. Как видим, этот шаблон работает достаточно криво, поскольку второй email был забракован. Хотя это вполне реальный email. А вот остальные, которые я придумал на ходу, были пропущены. Отсюда простой вывод: не заморачивайтесь с созданием универсальных шаблонов, поскольку пользователь вполне может придумать email. Используйте простейший шаблон, который будет проверять наличие знака @ в строке, а также наличие символов до и перед ней. К примеру, вот такая регулярка вполне сгодится:
Результат даже лучше предыдущего. Ну а на этом у меня сегодня все. Больше о регулярных выражениях вы можете узнать из нашего курса по регулярным выражениям. Удачи!
Комментарии (2)