c#中要判断输入的IP格式是否正确,该怎么写正则表达式啊,函数该怎么写 c#中要判断输入的IP格式是否正确,该怎么写正则表达式啊,函数该怎么写啊,求解? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 /// <summary> /// 是否为ip /// </summary> /// <param name="ip"></param> /// <returns></returns> public static bool IsIP(string ip) { return Regex.IsMatch(ip, @"^((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)$"); } public static bool IsIPSect(string ip) { return Regex.IsMatch(ip, @"^((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){2}((2[0-4]\d|25[0-5]|[01]?\d\d?|\*)\.)(2[0-4]\d|25[0-5]|[01]?\d\d?|\*)$"); } 将IP分割成数组 string[] sIPA = this.txtIp.Text.Trim().Split('.');然后根据数组和IP的规则来判断,LZ应该知道吧假如sIPA[0]>255 不规则....一次类推 用for循环判断也可以 分组我们已经提到了怎么重复单个字符(直接在字符后面加上限定符就行了);但如果想要重复多个字符又该怎么办?你可以用小括号来指定子表达式(也叫做分组),然后你就可以指定这个子表达式的重复次数了,你也可以对子表达式进行其它一些操作(后面会有介绍)。(\d{1,3}\.){3}\d{1,3}是一个简单的IP地址匹配表达式。要理解这个表达式,请按下列顺序分析它:\d{1,3}匹配1到3位的数字,(\d{1,3}\.){3}匹配三位数字加上一个英文句号(这个整体也就是这个分组)重复3次,最后再加上一个一到三位的数字(\d{1,3})。IP地址中每个数字都不能大于255,大家千万不要被《24》第三季的编剧给忽悠了……不幸的是,它也将匹配256.300.888.999这种不可能存在的IP地址。如果能使用算术比较的话,或许能简单地解决这个问题,但是正则表达式中并不提供关于数学的任何功能,所以只能使用冗长的分组,选择,字符类来描述一个正确的IP地址:((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)。理解这个表达式的关键是理解2[0-4]\d|25[0-5]|[01]?\d\d?,这里我就不细说了,你自己应该能分析得出来它的意义。http://deerchao.net/tutorials/regex/regex.htm 真心不理解2[0-4]\d|25[0-5]|[01]?\d\d?,的含义呀?求解释 System.Text.RegularExpressions.Regex check = new System.Text.RegularExpressions.Regex(@"^(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])$"); if (!check.IsMatch(dpo_ip.Text)) { string strMessage = "请填入正确的IP地址!"; MessageBox.Show(strMessage); dpo_ip.Focus(); }直接复制 即可运行! 我最SB~~~~~~~public bool yanIP(String IP)//验证IP { String[] sArr = IP.Split(new char[] { char.Parse(".") }); if (sArr.Length == 4) { try { int one = int.Parse(sArr[0].ToString()); int two = int.Parse(sArr[1].ToString()); int three = int.Parse(sArr[2].ToString()); int four = int.Parse(sArr[3].ToString()); if (one > 255 || two > 255 || three > 255 || four > 255 || one < 0 || two < 0 || three < 0 || four < 0) { return false; } else { return true; } } catch (Exception ce) { return false; } } else { return false; } } 创建Access数据库,异常信息“没有注册类别” 数字組合 无法在安装vs2010时同时安装msdn 裝了 SharpDevelop 後,需要裝 Mono 2.8 嗎? 如何打开浏览器,并导航到一个网址,刷新完毕后,关闭 关于对话框的owner 我的C#中读不到UTF8 DOS文件的bom信息怎么办? 用什么开发网站利于百度搜索引擎 求正则表达式,在字符串中找到大写字母,替换为 "_" +大写字母 哪里有C#的视频教程下载? .net 程序发布前后结果不一致 小鸟又来求助各位前辈了
/// 是否为ip
/// </summary>
/// <param name="ip"></param>
/// <returns></returns>
public static bool IsIP(string ip)
{
return Regex.IsMatch(ip, @"^((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)$");
} public static bool IsIPSect(string ip)
{
return Regex.IsMatch(ip, @"^((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){2}((2[0-4]\d|25[0-5]|[01]?\d\d?|\*)\.)(2[0-4]\d|25[0-5]|[01]?\d\d?|\*)$");
}
string[] sIPA = this.txtIp.Text.Trim().Split('.');然后根据数组和IP的规则来判断,LZ应该知道吧假如sIPA[0]>255 不规则....一次类推 用for循环判断也可以
我们已经提到了怎么重复单个字符(直接在字符后面加上限定符就行了);但如果想要重复多个字符又该怎么办?你可以用小括号来指定子表达式(也叫做分组),然后你就可以指定这个子表达式的重复次数了,你也可以对子表达式进行其它一些操作(后面会有介绍)。(\d{1,3}\.){3}\d{1,3}是一个简单的IP地址匹配表达式。要理解这个表达式,请按下列顺序分析它:\d{1,3}匹配1到3位的数字,(\d{1,3}\.){3}匹配三位数字加上一个英文句号(这个整体也就是这个分组)重复3次,最后再加上一个一到三位的数字(\d{1,3})。IP地址中每个数字都不能大于255,大家千万不要被《24》第三季的编剧给忽悠了……
不幸的是,它也将匹配256.300.888.999这种不可能存在的IP地址。如果能使用算术比较的话,或许能简单地解决这个问题,但是正则表达式中并不提供关于数学的任何功能,所以只能使用冗长的分组,选择,字符类来描述一个正确的IP地址:((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)。理解这个表达式的关键是理解2[0-4]\d|25[0-5]|[01]?\d\d?,这里我就不细说了,你自己应该能分析得出来它的意义。
http://deerchao.net/tutorials/regex/regex.htm
if (!check.IsMatch(dpo_ip.Text))
{
string strMessage = "请填入正确的IP地址!";
MessageBox.Show(strMessage);
dpo_ip.Focus();
}
直接复制 即可运行!
{
String[] sArr = IP.Split(new char[] { char.Parse(".") });
if (sArr.Length == 4)
{
try
{
int one = int.Parse(sArr[0].ToString());
int two = int.Parse(sArr[1].ToString());
int three = int.Parse(sArr[2].ToString());
int four = int.Parse(sArr[3].ToString());
if (one > 255 || two > 255 || three > 255 || four > 255 || one < 0 || two < 0 || three < 0 || four < 0)
{
return false;
}
else
{
return true;
}
}
catch (Exception ce)
{
return false;
}
}
else
{
return false;
}
}