掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ipアドレスが正しいかどうかを判定するには? (ID:29196)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
面白そうなので私もやってみました。 # Check(False, isSafeIP('0.$0F.0.255')); # で引っ掛かりますが(^^;A function isSafeIP(IP: String): Boolean; var i: Integer; Stream: TStringStream; Parser: TParser; iValue: Int64; Source: String; begin result := False; Source := StringReplace(IP,'.',#$FF,[rfReplaceAll]); Stream := TStringStream.Create(Source); try Parser := TParser.Create(Stream); try for i:=0 to 6 do begin if ODD(i) then begin if Parser.TokenString <> #$FF then Exit; end else begin if Parser.Token <> toInteger then Exit; if Length(Parser.TokenString) > 3 then Exit; iValue := Parser.TokenInt; if not (iValue in [0..255]) then Exit; end; Parser.NextToken; end; if Parser.Token <> toEOF then Exit; result := True; finally Parser.Free; end; finally Stream.Free; end; end;
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.