首页 > 解决方案 > 使用网络掩码验证 IPAddress.TryParse

问题描述

我想验证(只需检查 IP 地址的格式是否正确,带和不带网络掩码)具有网络掩码的 IP 地址例如:192.168.0.254/32。这应该给出有效 IP 地址的结果。

我可以用这个正则表达式 Regex(@"\b\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}\b/\d {1,3}\b|\b\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}\b");

但是可以通过 IPAddress.TryParse 或任何其他现有方法验证 IP 地址吗?

编辑以确认不相似的问题:在这里我想检查 IP 地址的格式是否正确,有无网络掩码

标签: c#regexipip-address

解决方案


下面是一个模式,您可以使用正则表达式来验证一个字符串是否代表一个有效的四字节 IP 地址,并带有一个可选的网络掩码:

(?:(?:[0-2]\d\d|\d\d?)\.){3}(?:[0-2]\d\d|\d\d?)(?:/(?:3[0-2]|[0-2]\d|\d))?

推荐阅读