<script type="text/javascript">
    var reg = /^(?:[1-2][0-5]?[0-5]?\.){3}[1-2][0-5]?[0-5]$/;
var str = '1.10.10.151'
var str2 = '01.10.10.151';
alert(reg.test(str)); // true;
alert(reg.test(str2)); // false;
</script >

解决方案 »

  1.   

    上面少点东西,考错了, 以这个为准
    <script type="text/javascript">
        var reg = /^(?:[1-2][0-5]?[0-5]?\.){3}[1-2][0-5]?[0-5]?$/;
    var str = '1.10.10.151'
    var str2 = '01.10.10.151';
    alert(reg.test(str)); // true;
    alert(reg.test(str2)); // false;
    </script >
      

  2.   

    string  reg =/^((1?\d?\d|(2([0-4]\d|5[0-5])))\.){3}(1?\d?\d|(2([0-4]\d|5[0-5])))$/
      

  3.   

    //判断邮箱正则表达式 true 说明IP正确 false说明不正确
    function IsEmail(str)
    {
       var reg=/^((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)$/;//匹配IPP的
        if(str.match(reg))
        {
            return true;
        }
        else
        {
            return false;
        }
    }
      

  4.   

    ^(\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])$
      

  5.   

    再补充一下  
    举例说明吧     例如拿这个 说明 A.B.C.D
    要求   A是     1<=A<=223
          B是         0<=B<=255
          C是         0<=C<=255
          D是         1<=D<255并且 A,B,C,D  每个数字如果大于0       不能出现上面所说的情况  01  010  015 等这种情况!
      

  6.   

    ^(([1-9]\d?|1\d{2}|2[0-5]{2})\.)((\d{1,2}|1\d{2}|2[0-5]{2})\.){2}(1\d{2}|2[0-5]{2}|\d{1,2})$我测试了几个,暂时没发现问题
      

  7.   

    JAVA正则表达式验证IP地址
      

  8.   

    ^(25[0-5]|2[0-4]\d?|10\d?|[1-9]\d?)\.(25[0-5]|2[0-4]\d?|10\d?|[1-9]\d?|0)\.(25[0-5]|2[0-4]\d?|10\d?|[1-9]\d?|0)\.(25[0-5]|2[0-4]\d?|10\d?|[1-9]\d?)$
      

  9.   

    上面的错了,这个应该可以...^(25[0-5]|2[0-4]\d?|1\d{2}|[1-9]\d?)\.(25[0-5]|2[0-4]\d?|1\d{2}|[1-9]\d?|0)\.(25[0-5]|2[0-4]\d?|1\d{2}|[1-9]\d?|0)\.(25[0-5]|2[0-4]\d?|1\d{2}|[1-9]\d?)$
      

  10.   

    ^(2([0-4]\d|5[0-5])|[0-1]?\d{1,2})(\.(2([0-4]\d|5[0-5])|[0-1]?\d{1,2})){3}$
      

  11.   

    大家可以看看WINDOWS 的  IP设置    和 网关    子网掩码设置  的条件是不一样的  
      

  12.   

    function isIP(strIP)     
    {
    var re=/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/; //IP正则    
      if(re.test( strIP ))    
      { 
       var n1 = parseInt(RegExp.$1);
       var n2 = parseInt(RegExp.$2);
       var n3 = parseInt(RegExp.$3);
       var n4 = parseInt(RegExp.$4);
      
       //首位必需为1-223之间除127之外的任一数字,末位不能为0或255
       if((n1>0 && n1<224 && n1!=127) && (n2>=0 && n2<=255) && (n3>=0 && n3<=255) && ( n4>0 && n4<255))
       {
       return true;
       }
      }
      return false;     

      

  13.   

    //掩码合法性验证
    function isMask(strMask)
    {
    //var reg=/^(\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])){3}$/; //IP正则 
    var reg=/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/;//IP正则
    if(reg.test(strMask))   
      { 
       var n1 = parseInt(RegExp.$1);
       var n2 = parseInt(RegExp.$2);
       var n3 = parseInt(RegExp.$3);
       var n4 = parseInt(RegExp.$4);
       if(isNaN(n1) || isNaN(n2) || isNaN(n3) || isNaN(n4))
       {
       return false;
       }
       if( (n1>255 || n1<0)|| (n2>255 || n2<0) || (n3>255 || n3<0) || (n4>255 || n4<0))
       {
       return false;
       }   var tmp = (n1*Math.pow(2,24))+(n2*Math.pow(2,16))+(n3*Math.pow(2,8))+n4;
    if(tmp < Math.pow(2,31))
    {
    return false;
    }
    else
    {
    tmp -=  Math.pow(2,31);
    //后续位必须为连续的1
    for (i = 30; i > 1; i --)
    {
    if (tmp == 0)
    {
    break;
    }
    else if(tmp < Math.pow(2,i))
    {
    return false;
    }
    else
    {
    tmp -= Math.pow(2,i);
    }
    }
    }
      }
      else//!reg.match( strMask)
      {
       return false;
      }
    return true;
    }以上两个函数是一经常用到了,已经过多次测试应该没问题的
      

  14.   

    这个有问题吧   随便测试一个 都不正确
    222.1.1.100返回false         
      

  15.   

    不会哦
    我这边执行结果是true哦?你可以用最简单的代码测试:<html>
    <head>
    <title>test</title>
    <meta http-equiv="Pragma" content="no-cache">
    <meta http-equiv="Cache-Control" content="no-cache" >
    <meta http-equiv="Cache-Control" content="must-revalidate">
    <meta http-equiv="Expires" content="-1">
    </head>
    <body>
    </body>
    <script language="JavaScript">
    function isIP(strIP)     
    {
    var re=/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/; //IP正则    
      if(re.test( strIP ))    
      { 
       var n1 = parseInt(RegExp.$1);
       var n2 = parseInt(RegExp.$2);
       var n3 = parseInt(RegExp.$3);
       var n4 = parseInt(RegExp.$4);
      
       //首位必需为1-223之间除127之外的任一数字,末位不能为0或255
       if((n1>0 && n1<224 && n1!=127) && (n2>=0 && n2<=255) && (n3>=0 && n3<=255) && ( n4>0 && n4<255))
       {
       return true;
       }
      }
      return false;     
    } alert(isIP("222.1.1.100"));
    </script>
    </html>
      

  16.   

    function isIP(ipAddress) {
    var regxip = /((25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)/;
    return regxip.test(ipAddress);
    }
      

  17.   

    我 把最终答案 写出来:这个结果是结合 21 楼得出的/**
    * 判断是否为IP
    */function isIp(ipAddress){                                                    
    var re=/^(25[0-5]|2[0-4]\d?|1\d{2}|[1-9]\d?)\.(25[0-5]|2[0-4]\d?|1\d{2}|[1-9]\d?|0)\.(25[0-5]|2[0-4]\d?|1\d{2}|[1-9]\d?|0)\.(25[0-5]|2[0-4]\d?|1\d{2}|[1-9]\d?)$/;     
      if(re.test( ipAddress ))    
      { 
      var n1 = parseInt(RegExp.$1); 
      var n2 = parseInt(RegExp.$2); 
      var n3 = parseInt(RegExp.$3); 
      var n4 = parseInt(RegExp.$4); 
      
      //首位必需为1-223之间除127之外的任一数字,末位不能为0或255 
      if((n1>0 && n1 <224 && n1!=127) && (n2>=0 && n2 <=255) && (n3>=0 && n3 <=255) && ( n4>0 && n4 <255)) 
      { 
      return true; 
      } 
      } 
      return false;   }
      

  18.   

    采用这个试试看   var reg = /^(?:[1-2][0-5]?[0-5]?\.){3}[1-2][0-5]?[0-5]?$/;
      

  19.   


    var reg=/^[1-9]\d{2}\.(0|([1-9]\d{2}))\.(0|([1-9]\d{2}))\.(0|([1-9]\d{2}))$/;
    alert(reg.test("127.0.0.1"));
    alert(reg.test("172.016.051.100"));
    alert(reg.test("172.16.51.100"));
      

  20.   

    ^([1-9]|[1-9]\d|1\d{1,2}|2[01]\d|22[0-3])(.(\d|[1-9]\d|1\d{1,2}|2[0-4]\d|25[0-6])){2}.([1-9]\d?|1\d{1,2}|2[0-4]\d|25[0-6])$
      

  21.   

    改进了一点
    ^([1-9]\d?|1\d{1,2}|2[01]\d|22[0-3])(.(\d|[1-9]\d|1\d{1,2}|2[0-4]\d|25[0-6])){2}.([1-9]\d?|1\d{1,2}|2[0-4]\d|25[0-6])$
      

  22.   


    用得着这么麻烦吗?你试试我 26 楼的方法。
    function isIP(ipAddress) {
        var regxip = /((25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)/;
        return regxip.test(ipAddress);
    }
      

  23.   

    不好意思,之前写错了个地方。^([1-9]\d?|1\d{1,2}|2[01]\d|22[0-3])(\.(\d|[1-9]\d|1\d{1,2}|2[0-4]\d|25[0-6])){2}\.([1-9]\d?|1\d{1,2}|2[0-4]\d|25[0-6])$
      

  24.   

    又写错了。^([1-9]\d?|1\d{1,2}|2[01]\d|22[0-3])(\.(\d|[1-9]\d|1\d{1,2}|2[0-4]\d|25[0-5])){2}\.([1-9]\d?|1\d{1,2}|2[0-4]\d|25[0-4])$
      

  25.   

    如果:首位必需为1-223之间除127之外的任一数字,末位不能为0或255,那就再改一下,如下:
    function isIP(ipAddress) {
    var regxip = /(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){2}(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)/;
    if (regxip.test(ipAddress)) {
    var b1 = parseInt(RegExp.$1);
    var b2 = parseInt(RegExp.$2);
    return b1 >= 1 && b1 <= 223 && b1 != 127 && b2 != 0 && b2 != 255;
    }
    return false;
    }
      

  26.   

    测试代码:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>IP checker</title>
    <script type="text/javascript">
    //<![CDATA[
    function isIP(ipAddress) {
    var regxip = /(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){2}(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)/;
    if (regxip.test(ipAddress)) {
    var b1 = parseInt(RegExp.$1);
    var b2 = parseInt(RegExp.$2);
    return b1 >= 1 && b1 <= 223 && b1 != 127 && b2 != 0 && b2 != 255;
    }
    return false;
    }
    //]]>
    </script>
    </head>
    <body>
    <div>
    <input type="text" id="txtip" name="ip" value="" />
    <input type="button" id="btnck" value="Check" onclick="alert(isIP(document.getElementById('txtip').value));" />
    </div>
    </body>
    </html>
      

  27.   


    楼主有要求首位不能为127?
    如果有的话还要再麻烦一点。^([1-9]\d?|1[013-9]\d|12[0-689]|2[01]\d|22[0-3])(\.(\d|[1-9]\d|1\d{1,2}|2[0-4]\d|25[0-5])){2}\.([1-9]\d?|1\d{1,2}|2[0-4]\d|25[0-4])$
      

  28.   

    再优化一下:
    function checkIP(ipstr) {
    var regxip = /^(?:22[0-3]|2[01]\d|12[0-689]|1[013-9]\d|[1-9]\d|[1-9])\.(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)\.){2}(?:25[0-4]|2[0-4]\d|1\d\d|[1-9]\d|[1-9])$/;
    return regxip.test(ipstr);
    }测试代码:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>IP checker</title>
    <script type="text/javascript">
    //<![CDATA[
    function checkIP(ipstr) {
    var regxip = /^(?:22[0-3]|2[01]\d|12[0-689]|1[013-9]\d|[1-9]\d|[1-9])\.(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)\.){2}(?:25[0-4]|2[0-4]\d|1\d\d|[1-9]\d|[1-9])$/;
    return regxip.test(ipstr);
    }
    //]]>
    </script>
    </head>
    <body>
    <div>
    <input type="text" id="txtip" name="ip" value="" />
    <input type="button" id="btnok" value="Check" onclick="alert(checkIP(document.getElementById('txtip').value));" />
    </div>
    </body>
    </html>
      

  29.   

    ^([1-9]\d?|1[013-9]\d|12[0-689]|2[01]\d|22[0-3])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){2}\.([1-9]\d?|1\d{2}|2[0-4]\d|25[0-4])$