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

Posted 我的学习笔记

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了delphi IsIPAdress 非正则表达式验证IP的方法相关的知识,希望对你有一定的参考价值。

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的方法的主要内容,如果未能解决你的问题,请参考以下文章

delphi 简单正则替换 问题

[正则表达式]基础工具书篇 关于边界

如何在delphi中使用正则表达式

delphi正则表达式

delphi中VBspcript_TRegExp类(正则表达式)怎么用

正则表达式