Від автора: вітаю вас друзі. У цій статті ми розглянемо різні варіанти регулярних виразів для валідації emai, а також складемо власне регулярний вираз перевірки email. Приступимо?
Валідація адреси email - це, мабуть, одна з найбільш поширених завдань при роботі з регулярними виразами. Це й не дивно, оскільки email в сучасному Інтернеті використовується часто-густо. Без нього практично не обходяться при реєстрації користувачів. І ось тут нам потрібно перевірити, а чи відповідає введена користувачем в поле рядок формату email.
Відразу зазначу, що найбільш точну відповідь дасть лише варіант зі зворотним зв'язком. Суть його полягає в тому, що по введеному адресою відправляється лист з посиланням, по якій користувач повинен перейти для підтвердження реєстрації. Відповідно, реєстрація буде завершена тільки в тому випадку, якщо користувач ввів реальний email.
Це єдиний 100% спосіб перевірки email. Всі інші нам дадуть лише перевірку на відповідність формату, не більше. Але оскільки у нас є завдання скласти регулярний вираз - давайте його складемо. Тим більше що його цілком можна використовувати на стороні клієнта, тим самим покращивши юзабіліті вашої форми реєстрації.
Отже, почати варто з того, що в мережі ви можете натрапити на багато різних варіантів регулярок для перевірки email. Як вам такий варіант?
Безкоштовний курс по PHP програмування
Освойте курс і дізнайтеся, як створити динамічний сайт на PHP і MySQL з повного нуля, використовуючи модель MVC
В курсі 39 уроків | 15 годин відео | исходники для кожного уроку
Отримати курс зараз!
Страшно, чи не так? Це шаблон для валідації email згідно стандарту . Я, звичайно ж, ні в якому разі не раджу вам використовувати такі шаблони. Раджу підшукати щось простіше або скласти шаблон самому. Власне, піду далі - раджу використовувати максимально простий шаблон. Поясню чому.
Припустимо ви склали або знайшли правильний шаблон, який буде приймати тільки email, відповідний формату. Наприклад, я знайшов ось такий:
Це перший-ліпший шаблон, який я знайшов в мережі. Як бачимо, цей шаблон працює досить криво, оскільки другий email був забракований. Хоча це цілком реальний email. А от інші, які я придумав на ходу, були пропущені. Звідси простий висновок: не заморачивайтесь зі створенням універсальних шаблонів, оскільки користувач цілком може придумати email. Використовуйте найпростіший шаблон, який буде перевіряти наявність знака @ в рядку, а також наявність символів до і перед нею. Наприклад, ось така регулярка цілком згодиться:
Результат навіть кращий за попередній. Ну а на цьому у мене сьогодні все. Більше про регулярні вирази ви можете дізнатися з нашого курсу за регулярними виразами . Успіхів!
Подивіться 12-ти годинний відео курс за регулярними виразами на PHP!
дивитися Приступимо?Як вам такий варіант?
Страшно, чи не так?