Распознавание e-mal'а

Ответить
Аватара пользователя
ivank

Распознавание e-mal'а

Сообщение ivank »

Кто как это делает? Где можно найти хороший (действительно распознающий правильные/неправильные адреса) код.



Пока мне в голову приходит только что-то типа:

Код:

Код: Выделить всё

/^(([a-zA-Z][a-zA-Z0-9\-_\.]*)\@(([a-zA-Z][a-zA-Z0-9\-]*\.)+)([a-zA-Z]{2,4}))$/

И какой RFC описывает стандарт на e-mail адреса? А то их так много...
Аватара пользователя
SandroK

Re: Распознавание e-mal'а

Сообщение SandroK »

...пользовал такую подпрограмму... взял с какого то руководства по Перл...



Код:

Код: Выделить всё

sub verify_email {
 * *local($emails) = $_[0];
 * *if ($emails =~ /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)|(\.$)/ ||
 * * * *($emails !~ /^.+\@localhost$/ &&
 * * * * $emails !~ /^.+\@\[?(\w|[-.])+\.[a-zA-Z]{2,3}|[0-9]{1,3}\]?$/)) {
 * * * *return(0);
 * *}
 * *else {
 * * * *return(1);
 * *}
}

...пояснения нужны???
Аватара пользователя
vasketsov

Re: Распознавание e-mal'а

Сообщение vasketsov »

BeerMan

а домены из русских букв?
Аватара пользователя
vasketsov

Re: Распознавание e-mal'а

Сообщение vasketsov »

BeerMan

Да всё понятно, вот только e-mail типа: [url=mailto:Kul-xackep@some..host..com]Kul-xackep@some..host..com[/url] оно примет за настоящий, а так же если доменное имя будет в зоне из четырёх букв, но оно скажет, что оно не правильно, попробуй [url=mailto:just-a-man@host.info]just-a-man@host.info[/url].



Добавлено:



vasketsov

А что значит: "домены для русских букв"?



Добавлено:



На счёт двух точек наврал, ссори.
Аватара пользователя
vasketsov

Re: Распознавание e-mal'а

Сообщение vasketsov »

ivank


Цитата:



домены ИЗ русских букв



типа многие уже регистрируют.

правда, не знаю как это работает.
Аватара пользователя
ivank

Re: Распознавание e-mal'а

Сообщение ivank »

vasketsov

Пусть регистрируют, но что делать, если мне нужно на русский сайт кока-колы из... Сингапура, к примеру, зайти? Я так понимаю это будет
http://кока-кола.ру
, или что-то в этом духе? А в Сингупуре (напоминаю) клав с русской раскладкой очень немного... И будет мне большой облом.



Кстати, \w, если стоит русская локаль, означает русские и английские буквы. Поэтому в своём варианте я и прописал вездк [a-zA-Z] вместо простого \w.
Ответить

Вернуться в «Вебмастеру»