- 人气:
- 放大
- 缩小
- 二维码
- 赞赏
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;