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

有帮助吗?

解决方案

为了将来对您的应用程序进行过验证,我建议仅使用IPAddress.TryParse()确定输入是否为IP地址。

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

其他提示

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

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top