求一个判断一个字符串是不是IP地址的正则表达式

pursuer 2002-09-18 09:47:52
求一个判断一个字符串是不是IP地址的正则表达式
...全文
191 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
sundy26 2002-09-23
  • 打赏
  • 举报
回复
IPAddress.Parse(string).看看返回的那个IPAddress值是不是为空.
wuyeniao 2002-09-23
  • 打赏
  • 举报
回复
呵呵,投机呀,聪明!~
TheAres 2002-09-22
  • 打赏
  • 举报
回复
找到一个判断字符串是不是IP address的简单方法.

using System.Net.IPAddress;

IPAddress myIP = IPAddress.Parse("192.168.1.2");

抓异常:

异常类型 条件
ArgumentNullException ipString 为空。
FormatException ipString 不是有效的 IP 地址。

----------------------------------------
To teach a fish how to swim.
用户 昵称 2002-09-20
  • 打赏
  • 举报
回复
ip和掩码都可以看成unsigned long型的数据
if( ( mask + 1 ) & mask )
//掩码不对
if(!((mask & ip ) && ((( mask & ip)+1)&mask)))
//ip与掩码关系不对

可是吐学整理的,根据tcp/ip原理而且久经考验的。
TheAres 2002-09-20
  • 打赏
  • 举报
回复
说说你的子网掩码的具体要求
----------------------------------------
To teach a fish how to swim.
pursuer 2002-09-20
  • 打赏
  • 举报
回复
另外,如果判断一个子网掩码是否输入正确
cnuninet 2002-09-20
  • 打赏
  • 举报
回复
^(((25[0-5]|2[0-4][0-9]|19[0-1]|19[3-9]|18[0-9]|17[0-1]|17[3-9]|1[0-6][0-9]|1[1-9]|[2-9][0-9]|[0-9])\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9]))|(192\.(25[0-5]|2[0-4][0-9]|16[0-7]|169|1[0-5][0-9]|1[7-9][0-9]|[1-9][0-9]|[0-9]))|(172\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|1[0-5]|3[2-9]|[4-9][0-9]|[0-9])))\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$
cnuninet 2002-09-20
  • 打赏
  • 举报
回复
^(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])$
pursuer 2002-09-20
  • 打赏
  • 举报
回复
另外,如果判断一个子网掩码是否输入正确
sdsxc 2002-09-18
  • 打赏
  • 举报
回复
自己写一个方法
private bool Check(string s)
{
if(s.Length>15 || s.Length<7 ) return false;

int t=0;
for(int i=0;i<s.Length;i++)
{
if((s[i]<'0' || s[i]>'9') && s[i]!='.') return false;
if(s[i]=='.') t++;
}
if(t!=3) return false;

int f=-1;
for(int i=0;i<s.Length;i++)
{
if(s[i]=='.')
{
if(i-f>4 || i-f<2) return false;
f=i;
}
}

return true;
}
TheAres 2002-09-18
  • 打赏
  • 举报
回复
^(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])$
----------------------------------------
To teach a fish how to swim.

110,567

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧