Проверка правильности E-mail адреса
- function IsValidEmail(const Value: string): boolean;
- function CheckAllowed(const s: string): boolean;
- var
- i: integer;
- begin
- Result:= false;
- for i:= 1 to Length(s) do
- begin
- { недопустимый символ в s - значит недопустимый адрес }
- if not (s[i] in ['a'..'z', 'A'..'Z', '0'..'9', '_', '-', '.']) then
- Exit;
- end;
- Result:= true;
- end;
- var
- i: integer;
- namePart, serverPart: string;
- begin // начало выполнения IsValidEmail
- Result:= false;
- i:= Pos('@', Value);
- if i = 0 then
- Exit;
- namePart:= Copy(Value, 1, i - 1);
- serverPart:= Copy(Value, i + 1, Length(Value));
- // @ не указано имя имя или сервер не указаны; минимально для сервера. "a.com"
- if (Length(namePart) = 0) or ((Length(serverPart) < 1)) then
- Exit;
- i:= Pos('.', serverPart);
- // должно иметь точку и как минимум два знака от конца
- if (i = 0) or (i > (Length(serverPart) - 1)) then
- Exit;
- Result:= CheckAllowed(namePart) and CheckAllowed(serverPart);
- end;
Автор: Udo Nesshoever
Если пользователю Вашего приложения необходимо вводить почтовый адрес, то возникает потребность в проверке адреса на правильнось. Конечно способов сделать это существует множество, но этот, на мой взгляд, самый короткий и доступный для понимания.
Если пользователю Вашего приложения необходимо вводить почтовый адрес, то возникает потребность в проверке адреса на правильнось. Конечно способов сделать это существует множество, но этот, на мой взгляд, самый короткий и доступный для понимания.