me

slonik_v_domene


Убей в себе государство


Previous Entry Share
Верификация email регекспами.
me
slonik_v_domene
https://data.iana.org/TLD/tlds-alpha-by-domain.txt
По ссылке - список актуальных TLD.

Мы видим, что:
- эпоха .com, .net, .org, .edu, .mil, малоизвестного .int и двухбуквенных геодоменов давно канула в Лету

- tld растут как грибы на навозной куче после дождя; регулярно появляются новые

- практически кто угодно может сделать свой tld с блекджеком и whois-серверами. Так, есть не только .YANDEX, .GOOGLE и .YAHOO, но и .GOODYEAR, .VIRGIN и даже .VODKA

- кроме того, есть куча непроизносимых tld типа .vermögensberatung или .சிங்கப்பூர்.

Обращаю на эти факты самое пристальное внимание всех любителей писать регекспы для верификации email: всё это плохо, очень плохо или вовсе никак не ложится в привычную схему "нагуглил и прикрутил раз и навсегда регексп". Поэтому правильный подход - не писать регекспы для верификации email.

На этом тему предлагаю закрыть.

  • 1
както специально копался в исходниках хромиум, и да -- input[type=email] там регэкспами валадитируется, предварительно idna decode

гугло-олимпиадники, хули

И видимо "90% программистов PHP"...

Ну да, зачем нужна почта, когда номер телефона есть у любой собаки?

Только хозяин номера может поменяться через полгода.

Я любителям регулярок ещё лет 15 назад показывал "официальную" регулярку (из RFC) для парсинга емейлов. От неё волосы в жилах стынут! Не надо использовать регулярки, это несопровождаемый бред в 99% случаев.

гм, в rfc есть регулярка? официальная?

Конечно нет, но есть реги созданные на основе RFC
http://www.ex-parrot.com/~pdw/Mail-RFC822-Address.html

Есть :) Но лучше не смотреть, а то психическое здоровье пошатнется :)

давай номер, я хочу знать что именно они сознательно упустили

херня, извЕните, особенно в такой формулировке (RFC822 валидатор)

согласно rfc822 e-mail просто "user" является валидным, а данный регэксп его режет.

orly? Вроде же addr-spec всегда должен быть в адресе, а addr-spec, в свою очередь, всегда содержит @.

Сейчас поискал - не могу найти. Или я ошибался, принимая её за официальную, или она проскакивала в каком-то драфте и была исключена.

По внешнему виду вроде эта - http://stackoverflow.com/questions/20771794/mailrfc822address-regex

Но в процессе гугления нашел также регулярку от мастера 80-го уровня - https://news.ycombinator.com/item?id=8360388
Век живи - век учись.

нет-нет, абы какую мне не нужно, я такие находил.
я из rfc хочу, кошерную.

Я ее всегда и брал)

  • 1
?

Log in

No account? Create an account