gpt4 book ai didi

c# - .NET 中的 IP 地址解析

转载 作者:行者123 更新时间:2023-11-30 14:05:18 29 4
gpt4 key购买 nike

我正在使用 IPAddress.TryParse() 来解析 IP 地址。但是,它有点过于宽松(解析“1”返回 0.0.0.1)。我想将输入限制为点分八位字节表示法。执行此操作的最佳方法是什么?

(注意:我使用的是 .NET 2.0)


编辑

让我澄清一下:

我正在编写一个应用程序,它将扫描一系列 IP 以查找特定设备(基本上是端口扫描器)。当用户输入“192.168.0.1”作为起始地址时,我想自动填写“192.168.0.255”作为结束地址。问题是,当他们键入“1”时,它会解析为“0.0.0.1”并且结束地址填写为“0.0.0.255”——这看起来很傻。

最佳答案

如果您对解析格式感兴趣,那么我会使用正则表达式。这是一个很好的 ( source ):

bool IsDottedDecimalIP(string possibleIP)
{
Regex R = New Regex(@"\b(?:\d{1,3}\.){3}\d{1,3}\b");
return R.IsMatch(possibleIP) && Net.IPAddress.TryParse(possibleIP, null);
}

该正则表达式不会捕获无效 IP,但会强制执行您的模式。 TryParse 检查它们的有效性。

关于c# - .NET 中的 IP 地址解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/378983/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com