[C#] IPAddress.TryParseを使ってIPアドレスの妥当性を検証する(どこまで厳格に判定する?)

Pocket

C# や VB.NET では、IPAddress.TryParse メソッドを利用して、文字列で与えられたIPアドレスの妥当性を検証することができます。

スポンサーリンク

 

IPAddress.TryParse の使い方

本メソッドの使い方は以下の通りです。ご存知だと思われますが、掲載しておきます。大手企業であれば、10.0.0.0 、中小企業や個人であれば 192.168.0.0 を使っていると思われる、おなじみのリンクローカルアドレスを検証しています。

//using System.Net;

string ipstr = @"10.30.43.5"; // IPアドレスとして妥当か検証する文字列

IPAddress ipaddr;             // 妥当だった場合に、受け取るバッファ

bool ret = IPAddress.TryParse(ipstr, out ipaddr);
if(!ret) {
   // 検証NG
}

 

判定NGとなる文字列

サンプルコードはわざわざここで掲載する必要もないのですが、いけそうで、いけない判定NGの文字列を偶然発見する機会がありましたので紹介します。


string ipstr = @"010.030.043.005"; // これは判定NG

もしかすると判定OKとなるかもと思ったのですが、判定はNGでした。まあ、IPアドレスをこんな形でもつようなことはないと思いますので、誰も困らないと思いますが。

 

スポンサーリンク


Pocket

Leave a Comment

Your email address will not be published. Required fields are marked *