Validate email address (Views: 28)
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; |