![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Здравствуйте
мне нужна валидация imap-сервера, например, imap.rambler.ru, imap.gmail.com и тд. в JS это регулярное выражение работает, в Delphi нет /(^imap\.[a-z]+\.[a-z]+$)/ Код:
regex := TRegEx.Create('(^imap\.[a-z]+\.[a-z]+$)');
if regex.IsMatch(read_txt.Strings[6]) then
ExitProcess(0)
else
Memo1.Lines.Add('imap-сервер: valid'); |
|
#2
|
||||
|
||||
|
Тестовое приложение:
Код:
program xxx;
{$APPTYPE CONSOLE}
{$R *.res}
uses
System.SysUtils, System.RegularExpressions;
function ValidateIMAPServer(const URL: string): Boolean;
begin
result:= TRegEx.IsMatch(URL, '(^imap\.[a-z]+\.[a-z]+$)');
end;
begin
{$REGION 'сервера'}
const SERVERS =
[
'imap.rambler.ru',
'imap.gmail.com',
'pop3.mail.ru',
'imap.mail.ru',
'pop.yandex.ru',
'imap.yandex.ru'
];
{$ENDREGION}
try
for var url in SERVERS do
WriteLn(Format('%s – %s', [url, if ValidateIMAPServer(url) then 'VALID' else 'INVALID']));
except
on E: Exception do
Writeln(E.ClassName, ': ', E.Message);
end;
readln;
end. |