2010. április 17., szombat
Validate email address
Problem/Question/Abstract:
How to validate an email address
Answer:
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
// illegal char in s -> no valid address
if not (s[i] in ['a'..'z', 'A'..'Z', '0'..'9', '_', '-', '.']) then
Exit;
end;
Result := true;
end;
var
i: integer;
namePart, serverPart: string;
begin // of IsValidEmail
Result := false;
i := Pos('@', Value);
if (i = 0) or (pos('..', Value) > 0) then
Exit;
namePart := Copy(Value, 1, i - 1);
serverPart := Copy(Value, i + 1, Length(Value));
if (Length(namePart) = 0) // @ or name missing
or ((Length(serverPart) < 4)) {// name or server missing or } then
Exit; // too short
i := Pos('.', serverPart);
// must have dot and at least 3 places from end
if (i < 2) or (i > (Length(serverPart) - 2)) then
Exit;
Result := CheckAllowed(namePart) and CheckAllowed(serverPart);
end;
Feliratkozás:
Megjegyzések küldése (Atom)
Nincsenek megjegyzések:
Megjegyzés küldése