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;

相关阅读 >>

cnvcl 组件包

Delphi 判断字符串是否包含汉字

Delphi 网址链接结尾自动补/

Delphi实现自我删除

winapi 字符及字符串函数(6): ischaralphanumeric - 是否是个文字(字母或数字)

Delphi实现暴力瞬间关机

Delphi datasnap(midas)三层架构中,常用事件及其触发顺序

Delphi idhttp超时重定向

Delphi 内存管理[2-3]

Delphi图像处理 -- 图像卷积

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...