Задолбали умники со своим «вы ввели некорректный email».
Вот это корректный email: one+two@example.loc
И вот это корректный email: one.two@example.loc
И вот это: one.two@127.0.0.1
А вот регулярка для проверки ёмайла: /^[^@]+@.+$/s
или, что тоже самое: /@/
. Или ещё лучше: /^.*$/
.
+1
Есть ещё кириллические домены (например, письмо.рф).
Проблема не только в регулярках — стандартный filter_var() с FILTER_VALIDATE_EMAIL тоже не пройдет для вариантов «one.two@127.0.0.1» или «пыщ@пыщ.рф».
Как вариант, возможно лучше проверять MX-запись, хотя checkdnsrr(‘письмо.рф’, ‘MX’) тоже выдало false.
Но больше бесит, когда в номере телефона разрешаются только цифры или обязывают строго следовать формату, типа +X(XXX)XXX-XX-XX. И ладно если бы эти данные потом обрабатывались программно (например, какая-нибудь SMS рассылка). Но встречается на всяких сайтах объявлений, где этот номер нужен чтоб его просто блять _показать_ на странице. Нужен добавочный номер, хочешь написать чтоб звонили только вечером или тупо хочешь ввести второй телефон через запятую? Не, не слышали.
timur, 27.08.2013, 8:03
timur, +2
vasa_c, 28.08.2013, 15:54
<input type="email" required/> — и нет проблемы
untit1ed, 12.09.2013, 20:52
дай бог, чтобы поддерживался HTML5, а вообще, если input придёт из вне, то, тогда фронтенд вас не спасёт)
kuler, 26.10.2013, 20:38
Тупая проверка на собаку на сервер сайде. Html5 спасает от не нужного дергания сервера. Все зависит от задачи, у мена например все аккаунты должно валидироваться по почте, так что проблемы нет.
untit1ed, 26.10.2013, 23:08