delphi IsIPAdress 非正则表达式验证IP的方法

2021-02-14 11:16

阅读:665

标签:gen   ring   array   hle   pos   length   const   sse   log   

function IsIPAdress(const Value:String):Boolean;
var n,x,i: Integer;
    Posi:Array[1..4]of Integer;
    Oktet:Array[1..4]of String;
begin
  Result := true;
  x := 0;

  // es dürfen nur Zahlen und Punkte vorhanden sein
  for n := 1 to Length(Value) do
    if not (Value[n] in [0..9,.])
      then
        begin
          // ungültiges Zeichen -> keine IP-Adresse
          Result := false;
          break;
        end
      else
        begin
          // Z?hle die Punkte
          if Value[n] = .
            then
              begin
                Inc(x);
                Posi[x] := n;
              end
            else
              begin
                 Oktet[x+1] := Oktet[x+1] + Value[n];
              end;
        end;

  for i := 1 to 4 do
    if (StrToInt(Oktet[i])>255)then Result := false;

  // es müssen genau 3 Punkte vorhanden sein
  if x  3
    then
      begin
        // Anzahl der Punkte  3 -> keine IP-Adresse
        Result := false;
      end;
end;

 

delphi IsIPAdress 非正则表达式验证IP的方法

标签:gen   ring   array   hle   pos   length   const   sse   log   

原文地址:https://www.cnblogs.com/westsoft/p/8449591.html


评论


亲,登录后才可以留言!