Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.147.73.35] |
|
Страницы: (2) [1] 2 все ( Перейти к последнему сообщению ) |
Сообщ.
#1
,
|
|
|
Может кто знает почему при проверке майла пользователя таким регулярным выражением: ([0-9a-zA-Z\.-_]+)@([0-9a-zA-Z\.-_]+)
прокатывает следующий майл a@b~!#$\%^.ru Используется функция ereg PHP4.2 |
Сообщ.
#2
,
|
|
|
Все, дошло!
Уже не надо. |
Сообщ.
#3
,
|
|
|
Хорошим тоном считается показать, что именно было неправильно.
Это весьма поучительно, следить за чужими шишками |
Сообщ.
#4
,
|
|
|
Попробуйте обмануть
^[a-z0-9_-]+@([a-z0-9_-]+[\.]?)*([a-z0-9_-]+)\.[a-z0-9]+$ Такая фигня стоит у меня в гостевой книге (http://andyag.far.ru). Только перед ней e-mail переводится в нижний регистр. Хакнет кто-нибудь? :-) |
Сообщ.
#5
,
|
|
|
Вообще то я не настолько крут в рег. выражениях поэтому сделал проще
^([0-9a-zA-Z\.-_]+)@([0-9a-zA-Z\.-_]+) $ 2vot-sorry в след. раз исправлюсь. 2Andyag-спасибо за дополнение (подсказку). |
Сообщ.
#6
,
|
|
|
Кстати может лучше так:
^([a-z0-9A-Z_-]+[\.]?)@([a-z0-9A-Z_-]+[\.]?)*([a-z0-9A-Z_-]+)\.[a-z0-9A-Z]+$ мэйл же может быть таким: Ivan.Ivanov@mail.ru А? |
Сообщ.
#7
,
|
|
|
А Ivan.Ivanov.@mail.ru - не может (или может?), значит надо что-то вроде
^([a-z0-9A-Z_-]+[\.]?)[a-z0-9A-Z_-]+@([a-z0-9A-Z_-]+[\.]?)*([a-z0-9A-Z_-]+)\.[a-z0-9A-Z]+$ :-) |
Сообщ.
#8
,
|
|
|
Вообще-то на майлы типа
Asdf.AdfA@XXX.ru это рег выражение ругается - очевидным образом: no matches "^[a-z0-9_-]+@([a-z0-9_-]+[\.]?)*([a-z0-9_-]+)\.[a-z0-9]+$" Не все случаи рассмотрены(нет точки и заглавных букв) Хотя с заглавными буквами фигня - можно strtolower() сделать. Это выражение тоже не очень ^([a-z0-9A-Z_-]+[\.]?)[a-z0-9A-Z_-]+@([a-z0-9A-Z_-]+[\.]?)*([a-z0-9A-Z_-]+)\.[a-z0-9A-Z]+$ Не пропустит майл типа Ivan.Ivanich.Ivanov@mail.ru Есть предложения по апгрейду или сдадимся на милость пользователя? Кто-же знает сколько точек он наставит. Похоже что правильней всего так: ^([a-z0-9A-Z_-\.])@([a-z0-9A-Z_-\.])*([a-z0-9A-Z_-]+)\.[a-z0-9A-Z]+$ |
Сообщ.
#9
,
|
|
|
Ошибка
Так ^([a-z0-9A-Z_-\.])@([a-z0-9A-Z_-]+[\.]?)*([a-z0-9A-Z_-]+)\.[a-z0-9A-Z]+$ |
Сообщ.
#10
,
|
|
|
Извиняюсь за возможный спам - опять ошибся:
Вот последняя версия: $regmail="^([a-z0-9A-Z\._-]+)@([a-z0-9A-Z_-]+[\.]?)*([a-z0-9A-Z_-]+)\.[a-z0-9A-Z]+$"; |
Сообщ.
#11
,
|
|
|
2Алексей:
В своем сообщении от 16.05.02 20:20:17 я написал, что цитирую: "Только перед ней e-mail переводится в нижний регистр". :-) Регулярные выражения это вообще довольно интересная тема, но только вот можно глаза сломать от этих шаблонов... :-) Насчет проверки e-mail'а в php теперь можно FAQ выпускать... :-) Вобщем, я еще попробую поизвращаться на эту тему. 2All: А, кстати, ни кто не знает номер RFC, где была бы прописана спецификация e-mail'ов? 2vot: Кстати, товарищьчь vot почему еще нету "WWW Masters FAQ"? |
Сообщ.
#12
,
|
|
|
Возьмешься вести его?
|
Сообщ.
#13
,
|
|
|
2Vot:
В принципе, без проблем. И даже с большим удовольствием. Но вот только, не прямо сейчас, а несколько позже... Просто сейчас сессия и все такое. Освобожусь где-то в начале июня. Правда, несколько напрягает, что в этой части форума сейчас всего 53 темы... Нельзя ли пока сделать сложную тему типа "Делаем FAQ - присылайте вопросы и ответы"? |
Сообщ.
#14
,
|
|
|
2Алексей:
Как тебе такая фишка: ^([a-z0-9_-]+[\.]?)*[a-z0-9_-]+@([a-z0-9_-]+[\.]?)*([a-z0-9_-]+)\.[a-z0-9]+$ :-) |
Сообщ.
#15
,
|
|
|
Господи, до чего ж матершинный язык!
|