if (arrIp.length<4)
改为
  if (arrIp.length != 4)

解决方案 »

  1.   

    还有漏
    parseInt("abc")     // 返回 NaN。
    parseInt("12abc")//返回12
    所以如果写成 12B.12a.5gb.6ys 同样会认为合法。请问有什么函数可以判断一个串是字符还是数字呢?
      

  2.   

    结合下面这个正则表达式应该可以解决你需要的问题了:
    /\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/
      

  3.   

    用正则。var st="(\\d{1,2}|1\\d{2}|2[0-4]\\d|25[0-5])"
    var reg=new RegExp("^"+st+"\\."+st+"\\."+st+"\\."+st+"$");
    alert(reg.test("1.1.1.256"))
    alert(reg.test("1.1.1.255"))
    alert(reg.test("1.1.255.1"))
    alert(reg.test("1.255.1.1"))
    alert(reg.test("255.1.1.1"))
      

  4.   

    阁下一定不是个合格的程序员,连测试 都要劳烦别人。
    javascript的运行速度非常的快,这都不愿自己动手。
      

  5.   

    <script language="JavaScipt">
    <!--
    function iponly (address) {
       var ipDomainPat=/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/;
       var IPArray=address.match(ipDomainPat);
       if (IPArray!=null) 
          {for (var i=1;i<=4;i++) 
             {if (IPArray[i]>255) 
                {alert("IP地址输入不正确!");
         return false;}
     }
           return true;}
       else 
         {alert("IP地址输入不正确!");
          return false;}  
    //-->
      

  6.   

    to :treeClimber(我以我血荐轩辕) 
    说话请注意点,我自己事先测试过,因为开始没有找到漏的所以要大家看看。
    我也是边测边改的,下面这个就是我自己找的:
    ===================
    还有漏
    parseInt("abc")     // 返回 NaN。
    parseInt("12abc")//返回12
    所以如果写成 12B.12a.5gb.6ys 同样会认为合法。请问有什么函数可以判断一个串是字符还是数字呢?
    ===================
    这样可以学到很多东西。
    你可以100%保证你的程序就没漏?
    少说废话,多干实事!
      

  7.   

    呵呵,微软出产品前也要先出beta版给用户测试嘛