Delphi判断IP地址是否正确

function IsValidIP(Str: string): Boolean;
var
i, PartCount {用多少段,以点号分开}: Integer;
Part: string;
begin
PartCount := 0;
while Str <> '' do
begin
    i := Pos('.', Str);
    if i = 0 then
    begin
      Part := Str;
      Str := '';
    end
    else
    begin
      Part := Copy(Str, 1, i - 1);
      Delete(Str, 1, i);
    end;

    //IP分段必须是[0,255]的整数 
    if not TryStrToInt(Part, i) or (i < 0) or (i > 255) then
    begin
      Result := False;
      Exit;
    end;
    Inc(PartCount);
end;

Result := PartCount = 4; //必须要有4段
end;

posted @ 2013-04-29 13:53  小天1981  阅读(500)  评论(0编辑  收藏  举报