在我的应用程序中,用户输入ip address + sub net mask,如下所示: 192.168.0.0/16或80.80.80.0/24我想验证它:
IPAddress.TryParse
方法我是c#的新手,如果你告诉我验证IP地址的最佳方法,我真的很感激。 谢谢。
答案 0 :(得分:2)
请尝试进行一些搜索,因为之前您的问题可能已经得到解答。
对于Q1,请参阅this stackoverflow article。
对于Q2和Q3,分割输入字符串后很容易检查(如@ RPradeep'答案)
毕竟,我建议你找一个更好的第三方" C#IP地址库"。我认为您的要求是常用的,有人可能会做同样的事情。它比你自己做得更好,对吗?
<强>更新强>
对于Q2,仍有a stackoverflow article可以帮助你。
<强>更新强>
根据您的评论,我建议您采用另一种方式 - 如何列出您要返回的所有IP地址为false,并检查目标IP地址是否可以在列表中找到?
对于IPv4,codeproject article可以为您构建IP地址列表 - 方便。
答案 1 :(得分:0)
检查字符串是否包含“:”, //这是IPv6
如果字符串以fd开头,则返回false
否则: 您可以使用“。”拆分解析字符串。 //这是针对IPv4的 1.如果以10.开头,则返回false 2.如果以172.16开头,子网为12,则返回false 3.如果以192.168开头,子网为16,则返回false
最后,拆分/并查看第二部分并解析整数。如果它不在0和32的范围内,则返回false