校验EMAIL地址的合法性

字体大小: 中小 标准 ->行高大小: 标准
function MailURLMayBeInvalid(const s: string): Boolean;

var

i: Integer;

c: string;

begin // ' ', ?, ?, ü, ?, [, ], (, ), : in EMail-Address

Result := (Trim(s) = '') or (Pos(' ', AnsiLowerCase(s)) > 0) or

(Pos('?', AnsiLowerCase(s)) > 0) or (Pos('?', AnsiLowerCase(s)) > 0) or

(Pos('ü', AnsiLowerCase(s)) > 0) or (Pos('?', AnsiLowerCase(s)) > 0) or

(Pos('[', AnsiLowerCase(s)) > 0) or (Pos(']', AnsiLowerCase(s)) > 0) or

(Pos('(', AnsiLowerCase(s)) > 0) or (Pos(')', AnsiLowerCase(s)) > 0) or

(Pos(':', AnsiLowerCase(s)) > 0);

if Result then Exit; // @ not in EMail-Address;

i := Pos('@', s);

Result := (i = 0) or (i = 1) or (i = Length(s));

if Result then Exit;

Result := (Pos('@', Copy(s, i + 1, Length(s) - 1)) > 0);

if Result then Exit; // Domain <= 1

c := Copy(s, i + 1, Length(s));

Result := Length(c) <= 1;

if Result then Exit;

i := Pos('.', c);

Result := (i = 0) or (i = 1) or (i = Length(c));

end;

此文章由 http://www.ositren.com 收集整理 ,地址为: http://www.ositren.com/htmls/67948.html