码迷,mamicode.com
首页 > Windows程序 > 详细

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

时间:2018-02-15 16:54:24      阅读:627      评论:0      收藏:0      [点我收藏+]

标签: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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!