通过C#验证用户输入的IP地址或主机名

时间:2010-06-17 12:36:57

标签: c# regex winforms data-entry

在我的Windows窗体应用程序的几个字段中,我要求用户提供IP地址或主机名。是否有一个很好的正则表达式(正则表达式)来验证输入的值?或者我应该考虑另一种方法吗?请注意,我希望用户输入FQDN或IP地址。

3 个答案:

答案 0 :(得分:2)

为了使您的应用程序能够面向未来,我建议您使用IPAddress.TryParse()来确定输入是否为IP地址。

检查“有效”主机名更加困难,因为您没有指定主机名是否必须存在。如果是这样,最简单的方法是使用Dns.GetHostEntry()来查看是否会产生结果。根据您提供的描述,您无法获得更准确的验证。

答案 1 :(得分:1)

为什么需要请求Windows窗体应用程序的IP地址和主机名?如果这些是本地PC详细信息,您可以从以下网址获取: -

1)要获取主机名,您可以调用 Dns.GetHostName()(请参阅MSDN reference

2)要获取IP地址,您可以通过 Dns.GetHostByName()枚举IP地址(请参阅MSDN reference

答案 2 :(得分:1)

尝试拨打IPAddress.TryParse,如果失败,请尝试Dns.GetHostByName