有効な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 $object –and ($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 |
メールアドレスの検証も同様に、こんな感じで。
[System.Net.Mail.MailAddress]).Address
0 件のコメント:
コメントを投稿