http://expert.csdn.net/Expert/topic/1143/1143877.xml?temp=.122204

解决方案 »

  1.   

    //判断IP合法性
    //Author Myungsong.Kim on Oct,19,2002
    function isIP(obj)
    {
    var arr,i,result=true;
    var re=/^(\d+)\.(\d+)\.(\d+)\.(\d+)$/;
    if(arr=re.exec(obj.value))
      {  
    for(i=1;i<arr.length;i++)
        {  
          if(parseInt(arr[i])>255)
          {
               alert("请指定一个介于1和255之间的数值!"); 
               result=false;break;
          }
          
          else if((parseInt(arr[1])==127&&parseInt(arr[2])!=0)||                                               (parseInt(arr[1])==127&&parseInt(arr[3])!=0)||
                  (parseInt(arr[1])==127&&parseInt(arr[4])!=1))
          {
               alert("以 127 起头的IP地址无效,因为它们保留用作环回地址。请在 1 和 223 之间指定一些其它有效值。"); 
               result=false;break;
          }      else if(parseInt(arr[1])>223||parseInt(arr[1])<1)
          {
               alert("IP地址无效,请在 1 和 223 之间指定一些其它有效值。"); 
               result=false;break;
          }      else if(parseInt(arr[4])==0)
          {
               alert("无效IP地址和子网掩码合并。IP地址的主机地址部分里的所有字节都被设置为 0,请输入一个有效的IP地址和子网掩码合并。"); 
               result=false;break;
          }      else if(parseInt(arr[4])==255)
          {
               alert("无效IP地址和子网掩码合并。IP地址的主机地址部分里的所有字节都被设置为 1,请输入一个有效的IP地址和子网掩码合并。"); 
               result=false;break;
          }
        }  
    }
    else
      {
         result=false;
      } if(!result){
    //alert("IP地址格式不正确!");
    obj.select();
    return false;
    }
    else return true;
    }