Как проверить правильность E-mail адреса? |
|
Написал Ярослав Гасов
|
19.10.2009 |
Если пользователю Вашего приложения необходимо вводить почтовый адрес, то возникает потребность в проверке адреса на правильность. Конечно способов сделать это существует множество, но этот, на мой взгляд, самый короткий и доступный для понимания.
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 if not (s in ['a'..'z', 'A'..'Z', '0'..'9', '_', '-', '.']) then Exit; end; Result:= true; end; var i: integer; namePart, serverPart: string; begin Result:= false; i:= Pos('@', Value); if i = 0 then Exit; namePart:= Copy(Value, 1, i - 1); serverPart:= Copy(Value, i + 1, Length(Value)); if (Length(namePart) = 0) or ((Length(serverPart) < 5)) then Exit; i:= Pos('.', serverPart); if (i = 0) or (i > (Length(serverPart) - 2)) then Exit; Result:= CheckAllowed(namePart) and CheckAllowed(serverPart); end; Источник: http://softnewsportal.ru/forum/showthread.php?p=4600
|