|
|
|
| Хочу вынести на суд свое детище, проверку E-Mail:
$prgemail = '/^([\w]+([\w]*[\.-]?[\w]+)+)@([\w]+([\w]*[\.-]?[\w]+)+)\.([a-zA-Z]{2,4})$/';
|
Старался предусмотреть все по максимуму.
Хотелось бы услышать любые отзывы.
Спасибо. | |
|
|
|
|
|
|
|
для: aetern
(12.08.2009 в 23:45)
| | шаманство ничем не обусловленное. | |
|
|
|
|
|
|
|
для: Trianon
(12.08.2009 в 23:51)
| | стояла цель - максимально проверить все возможные варианты | |
|
|
|
|
|
|
|
для: aetern
(12.08.2009 в 23:54)
| | Какова цена ошибки первого рода (действующий е-мэйл будет зарезан в ходе проверки) ? | |
|
|
|
|
|
|
|
для: Trianon
(13.08.2009 в 00:00)
| | >Какова цена ошибки первого рода (действующий е-мэйл будет зарезан в ходе проверки) ?
о каком действующем е-мэйле вы говорите и почему он будет зарезан?
На мой взгляд, любой разрешенный е-мэйл пройдет проверку моим выражением, вы с этим не согласны? | |
|
|
|
|
|
|
|
для: aetern
(13.08.2009 в 00:08)
| | несогласен. | |
|
|
|
|
|
|
|
для: aetern
(12.08.2009 в 23:45)
| | Вам не нравится filter_var?
в примере как раз показывают фильтр e-mail'a! | |
|
|
|
|
|
|
|
для: а-я
(13.08.2009 в 01:58)
| | версию php заметили? | |
|
|
|
|
|
|
|
для: Trianon
(13.08.2009 в 11:41)
| | Честно говоря, не заметил) как то всегда делал для себя, и всегда есть возможность обновить ПО!
Но все же, как вариант! | |
|
|
|
|
|
|
|
для: а-я
(13.08.2009 в 14:40)
| | не вариант. Еще года три не вариант. | |
|
|
|
|
|
|
|
для: aetern
(12.08.2009 в 23:45)
| | Ну во-первых, ваше выражение не пропустит мыло в доменной зоне .travel и .museum.
Во-вторых есть специальный(ое) RFC
В третьих почитайте топик на хабре. | |
|
|
|
|
|
|
|
для: Саня
(13.08.2009 в 23:35)
| | >Ну во-первых, ваше выражение не пропустит мыло в доменной зоне .travel и .museum.
Согласен, но это легко меняется на {2,6}
>Во-вторых есть специальный(ое) RFC
ИМХО - от правильной RFC-шной валидации толку мало.
>В третьих почитайте топик на хабре.
Обсуждение указанного там варианта сводится к тому, что сколько не придумывай регвыров для проверки e-mail, а идеального - не будет :-(
Причем от ссылки на "самый лучший" я вообще был в шоке.
>Вам не нравится filter_var?
Не знал о нем. Интересная тема. Спасибо. | |
|
|
|
|
|
|
|
для: aetern
(20.08.2009 в 13:02)
| | >В итоге мы получили выражение отвечающее за проверку hostname:
([a-z0-9]([-a-z0-9]{0,61}[a-z0-9])?\.)*(aero|arpa|asia|biz|cat|com|coop|edu|gov|info|int|jobs|mil|mobi|museum|name|net|org|pro|tel|travel|[a-z][a-z])
можно слегка упростить и слегка уточнить
(?=.{2,255}$)(?:\b[-a-z0-9]{1,63}\b\.)*(aero|arpa|asia|biz|cat|com|coop|edu|gov|info|int|jobs|mil|mobi|museum|name|net|org|pro|tel|travel|[a-z][a-z])
но если ещё могут быть hostname типа 127.0.0.1, то это ещё одно совсем другое выражение
// и доменное имя например в зоне ru длинной один символ , неразрешён, только 2
// а есть где и 3 | |
|
|
|