当前位置:  开发笔记 > 编程语言 > 正文

在.NET中解析IP地址

如何解决《在.NET中解析IP地址》经验,为你挑选了1个好方法。

我正在使用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" - 这看起来很傻.



1> Michael Hare..:

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

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检查它们的有效性.

推荐阅读
ar_wen2402851455
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有