Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.05.2012, 12:35   #1
Leximus
Пользователь
 
Регистрация: 18.09.2010
Сообщений: 85
По умолчанию Как лучше проверить адрес E-mail на правильность?

Как лучше всего проверить адрес E-mail на правильность?
Есть какието советы?
Видел в интернете пару решений, но они не учитывают то что перед доменом может быть две лишнии точки, или не расчитаны на адрес типа aaa.bbb@post.mos.ru

Хочется максимально грамотную функцию?
Есть такая?
Leximus вне форума Ответить с цитированием
Старый 10.05.2012, 12:39   #2
=master=
Форумчанин
 
Регистрация: 26.03.2012
Сообщений: 665
По умолчанию

Регулярными выражениями.
Сочините правильное и будет все ок.
=master= вне форума Ответить с цитированием
Старый 10.05.2012, 12:44   #3
Valio
Сливочное масло
Участник клуба
 
Аватар для Valio
 
Регистрация: 01.01.2011
Сообщений: 1,149
По умолчанию

1. Проверить буквы на допустимость до собаки.
2. Проверить буквы на допустимость после собаки, а также наличие хоть одной точки.
Сливочное масло Valio - компиляция как по маслу
Valio вне форума Ответить с цитированием
Старый 10.05.2012, 12:57   #4
Leximus
Пользователь
 
Регистрация: 18.09.2010
Сообщений: 85
По умолчанию

Всё это хорошо, но наверняка есть готовое и хорошее решение...
Ведь зачем изобретать велосипед, а то я боюсь что что то сам ещё не так напишу и в итоге будет ещё одно не верное решение, а точнее с ошибкой, или просто с тем что какойто E-mail не так проверится.
Leximus вне форума Ответить с цитированием
Старый 10.05.2012, 12:59   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от =master=
Регулярными выражениями.
+1


Цитата:
Сообщение от Valio
2. Проверить буквы на допустимость после собаки, а также наличие хоть одной точки.
такие "email"
нормальные?
.a@com.
a...a@b...c
Serge_Bliznykov вне форума Ответить с цитированием
Старый 10.05.2012, 13:01   #6
Valio
Сливочное масло
Участник клуба
 
Аватар для Valio
 
Регистрация: 01.01.2011
Сообщений: 1,149
По умолчанию

Есть гдето. Но зачем искать то, что пишется самостоятельно за 5 минут?
Сливочное масло Valio - компиляция как по маслу
Valio вне форума Ответить с цитированием
Старый 10.05.2012, 13:07   #7
Leximus
Пользователь
 
Регистрация: 18.09.2010
Сообщений: 85
По умолчанию

Цитата:
Сообщение от Valio Посмотреть сообщение
Есть гдето. Но зачем искать то, что пишется самостоятельно за 5 минут?
Боюсь что я всех аспектов правильного E-mail не знаю!
Leximus вне форума Ответить с цитированием
Старый 10.05.2012, 13:08   #8
Valio
Сливочное масло
Участник клуба
 
Аватар для Valio
 
Регистрация: 01.01.2011
Сообщений: 1,149
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
такие "email"
нормальные?
.a@com.
a...a@b...c
Ну, наврятли )

В любом случае и до и после собаки может быть абсолютно любой набор букв. Можно ещё проверить домен, просто отправив какойнибудь запрос.

Я не думаю что стоит сильно вдумываться в сложный алгоритм проверки, если мыло вводится для того чтоб туда чтото отправить, то имено во время отправки и определится - корректный ли адрес или нет. Останется лишь грамотно обработать эту ошибку.
Сливочное масло Valio - компиляция как по маслу
Valio вне форума Ответить с цитированием
Старый 10.05.2012, 13:13   #9
Leximus
Пользователь
 
Регистрация: 18.09.2010
Сообщений: 85
По умолчанию

Ну опятьже, я например не знаю, может ли E-mail начинаться с "-"
Может ли он заканчиваться на "-"
Например aaa-@mail.ru
Или -aa@mail.ru
Может ли домен так?
Просто пишу программу по рассылки новостей по клиентам, и на какомто клиенте ошибка встала...
Конечно можно обработчик включить, но хочется чтобы красиво было всё.

Хорошо! Давайте так пойдём. Какие символы считаются нормальными для адреса почты, при наличии которых почта ещё не значится неправильной?
Вот что у меня есть в списке
'a'..'z', 'A'..'Z', '0'..'9', '_', '-', '.', '@'

Последний раз редактировалось Stilet; 10.05.2012 в 13:38.
Leximus вне форума Ответить с цитированием
Старый 10.05.2012, 13:32   #10
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

o_O как насчет регулярных выражений, вместо того, чтобы велосипеды собирать?
Человек_Борща вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проверить правильность E-mail адресса Holzz Общие вопросы Delphi 6 02.08.2011 12:08
Проверить на правильность задачу sam5213 Паскаль, Turbo Pascal, PascalABC.NET 0 23.12.2010 18:28
DateEdit из Библиотеки RX. Как проверить правильность даты? Vit@L Компоненты Delphi 2 22.02.2010 11:11
Как проверить дескриптор (указатель) на правильность? TwiX Общие вопросы Delphi 11 13.02.2010 22:10
MailItemPtr или IMessage как получить e-mail адрес? Iskuzer Общие вопросы C/C++ 0 26.10.2008 14:27