Регулярний вираз перевірки email

22

Від автора: вітаю вас друзі. У цій статті ми розглянемо різні варіанти регулярних виразів для валідації emai, а також складемо власне регулярний вираз перевірки email. Приступимо?

Валідація адреси email — це, мабуть, одна з найбільш поширених завдань при роботі з регулярними виразами. Це і не дивно, оскільки email в сучасному інтернеті використовується часто-густо. Без нього практично не обходяться при реєстрації користувачів. І ось тут нам потрібно перевірити, а чи відповідає введена користувачем в поле рядок формату email.

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

Це єдиний 100% спосіб перевірки email. Всі інші нам дадуть лише перевірку на відповідність формату, не більше. Але оскільки у нас є завдання скласти регулярний вираз — давайте його складемо. Тим більше, що його цілком можна використовувати на стороні клієнта, тим самим поліпшивши юзабіліті вашої форми реєстрації.

Отже, почати варто з того, що в мережі ви можете зустріти масу різних варіантів регулярок для перевірки email. Як вам такий варіант?

Регулярний вираз перевірки email

Страшно, чи не правда? Це шаблон для валідації email згідно стандарту. Я, звичайно ж, ні в якому разі не раджу вам використовувати такі шаблони. Раджу підшукати щось простіше або скласти шаблон самому. Власне, піду далі — раджу використовувати максимально простий шаблон. Поясню чому.

Припустимо ви склали чи знайшли правильний шаблон, який буде приймати тільки email, що відповідає формату. Наприклад, я знайшов ось такий:

Регулярний вираз перевірки email

Це перший ліпший шаблон, який я знайшов в мережі. Як бачимо, цей шаблон працює досить криво, оскільки другий email був забракований. Хоча це цілком реальний email. А от інші, які я придумав на ходу, були пропущені. Звідси простий висновок: не заморачивайтесь з створенням універсальних шаблонів, оскільки користувач цілком може придумати email. Використовуйте найпростіший шаблон, який буде перевіряти наявність знака @ у рядку, а також наявність символів і перед нею. Наприклад, ось така регулярка цілком згодиться:

Регулярний вираз перевірки email

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