一个匹配IP地址的正则表达式
我看了一些都是匹配数字之类的,却忽略了中间的分隔号(.)输入逗号或别的符号都行的。晕了。希望能给出一个完整的IP正则表达式

解决方案 »

  1.   

    用现成的类吧,只要看是不是能成功转化为IPAddress 类型即可
    string ipStr="192.168.222.333";
    IPAddress ip;
    if(IPAddress.TryParse(ipStr,out ip))
    {
       Console.WriterLine("合法IP");
    }
    else
    {
       Console.WriterLine("非法IP");
    }
      

  2.   

    /[\d]{1,3}\.[\d]{1,3}\.[\d]{1,3}\.[\d]{1,3}/
      

  3.   

    Regex ipReg = new Regex(@"^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$");
            
            Console.WriteLine(ipReg.IsMatch("192.168.0.1"));
            Console.WriteLine(ipReg.IsMatch("192.168.0.01"));
            Console.WriteLine(ipReg.IsMatch("892.168.0.01"));
      

  4.   

    我发誓这个是对的,只是不是正则
    string ipStr = "192.168.222.333";
    IPAddress ip;
    if (IPAddress.TryParse(ipStr, out ip))
    {
    //合法
    }
    else
    {
    //非法
    }
      

  5.   


    下面是利用正则表达式匹配IP地址,并将IP地址转换成对应数值的Javascript程序:function IP2V(ip)
    {
     re=/(\d+)\.(\d+)\.(\d+)\.(\d+)/g  //匹配IP地址的正则表达式
    if(re.test(ip))
    {
    return RegExp.$1*Math.pow(255,3))+RegExp.$2*Math.pow(255,2))+RegExp.$3*255+RegExp.$4*1
    }
    else
    {
     throw new Error("Not a valid IP address!")
    }
    }不过上面的程序如果不用正则表达式,而直接用split函数来分解可能更简单,程序如下:var ip="10.100.20.168"
    ip=ip.split(".")
    alert("IP值是:"+(ip[0]*255*255*255+ip[1]*255*255+ip[2]*255+ip[3]*1))
      

  6.   

    (@"^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5]
      

  7.   

    验证IP地址 
    <SCRIPT LANGUAGE="JavaScript"> 
    function isip(s){ 
    var check=function(v){try{return (v<=255 && v>=0)}catch(x){return false}}; 
    var re=s.split(".") 
    return (re.length==4)?(check(re[0]) && check(re[1]) && check(re[2]) && check(re[3])):false 
    } var s="202.197.78.129"; 
    alert(isip(s)) 
    </SCRIPT> 
      

  8.   

    参考:
    http://www.cnblogs.com/insus/articles/1399326.html
      

  9.   

    ((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)
      

  10.   

    \b(((?!\d\d\d)\d+|1\d\d|2[0-4]\d|25[0-5])(\b|\.)){4}