2010年11月23日火曜日

◆IPアドレスを検証する

有効なIPアドレスを検証する。
正規表現などを使って検証する例も見かけるが、こんな方法もある。
-as演算子で型変換すると変換できない場合はエラーにならずにNullになる。.NETと同じだ。
なので変換してみてOKなら正しいと判断する。

また、if($object)という使い方、ここではさしあたってNulの時にFalseになる。
(厳密にいうと以下の使い方には若干バグがある)

001
002
003
004
005
006
007
008
009
010
011
012

function isIPAddress($object) {
if($object){$object}else{"Null"
}
  (
$object -as [System.Net.IPAddress]).IPAddressToString -eq $objectand
 
  (
$object -ne $null)
  Write-Host
}

isIPAddress "10.256.0.1"
isIPAddress "127.0.0.1"
IsIPAddress "hello"
IsIPAddress "192.168.0.1.1"
isIPAddress $null

結果はこんな感じになる。
20101123170544

メールアドレスの検証も同様に、こんな感じで。
[System.Net.Mail.MailAddress]).Address

0 件のコメント:

コメントを投稿