Проверить строку на правильность Email адресаDelphi , Интернет и Сети , E-mailПроверить строку на правильность Email адреса
Оформил: DeeCo function MailURLMayBeInvalid(const s: string): Boolean; var i: Integer; c: string; begin // ' ', a, o, u, ?, [, ], (, ), : in EMail-Address Result := (Trim(s) = '') or (Pos(' ', AnsiLowerCase(s)) > 0) or (Pos('a', AnsiLowerCase(s)) > 0) or (Pos('o', AnsiLowerCase(s)) > 0) or (Pos('u', AnsiLowerCase(s)) > 0) or (Pos('?', AnsiLowerCase(s)) > 0) or (Pos('[', AnsiLowerCase(s)) > 0) or (Pos(']', AnsiLowerCase(s)) > 0) or (Pos('(', AnsiLowerCase(s)) > 0) or (Pos(')', AnsiLowerCase(s)) > 0) or (Pos(':', AnsiLowerCase(s)) > 0); if Result then Exit; // @ not in EMail-Address; i := Pos('@', s); Result := (i = 0) or (i = 1) or (i = Length(s)); if Result then Exit; Result := (Pos('@', Copy(s, i + 1, Length(s) - 1)) > 0); if Result then Exit; // Domain <= 1 c := Copy(s, i + 1, Length(s)); Result := Length(c) <= 1; if Result then Exit; i := Pos('.', c); Result := (i = 0) or (i = 1) or (i = Length(c)); end; Функция Преобразование функции:
В целом, эта функция использует комбинацию простых манипуляций строк и поиска шаблонов для определения, является ли входная строка валидным адресом электронной почты. Потенциальные улучшения:
Пример модификации функции с использованием регулярных выражений:
Этот регулярный выражение шаблон.matches большинство общепринятых форматов валидных адресов электронной почты. Обратите внимание, что это только один пример и может не покрывать все возможные валидные адреса электронной почты. Функция MailURLMayBeInvalid на языке Delphi проверяет строку на правильность Email-адреса, выявляя ошибки в формате адреса и домене. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |