C#を介してユーザーが入力したIPアドレスまたはホスト名を検証する
-
28-09-2019 - |
質問
Windowsフォームアプリケーションのいくつかのフィールドでは、ユーザーにIPアドレスまたはホスト名のいずれかを提供するように依頼しています。入力された値を検証するための優れた正規表現(Regex)はありますか?または、私が考慮すべき別の方法がありますか?ユーザーが入力することをお勧めします fqdn またはIPアドレス。
解決
アプリケーションを将来的に防ぐために、私はただ使用することをお勧めします IPAddress.TryParse()
入力がIPアドレスであるかどうかを判断します。
ホスト名が存在する必要があるかどうかを指定していないため、「有効な」ホスト名をチェックすることはより困難です。もしそうなら、最も簡単な方法は使用することです Dns.GetHostEntry()
それが結果をもたらすかどうかを確認します。あなたが与えた説明に基づいて、もっと正確な検証を取得することはできません。
他のヒント
WindowsフォームアプリケーションのIPアドレスとホスト名を要求する必要があるのはなぜですか?これらがローカルPCの詳細である場合、次のことを取得できます。
1)ホスト名を取得するには、電話をかけることができます dns.gethostname() (見る MSDNリファレンス)
2)IPアドレスを取得するには、IPアドレスを介して列挙できます dns.gethostbyname() (見る MSDNリファレンス)
電話してみてください iPaddress.tryparse 、失敗した場合はしようとします dns.gethostbyname
所属していません StackOverflow