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

解决方案 »

  1.   

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
    <HEAD>
    <TITLE> New Document </TITLE>
    <META NAME="Generator" CONTENT="EditPlus">
    <META NAME="Author" CONTENT="">
    <META NAME="Keywords" CONTENT="">
    <META NAME="Description" CONTENT="">
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    var oldValue = "";
    function test(obj){
    var arr = obj.value.split(".");
    if(arr.length>4){
    alert("IP格式有错");
    obj.value = oldValue
    return;
    }
    for(var i=0;i<arr.length;i++){
    if(arr[i]!=""){
    var Number = parseInt(arr[i],10);
    if(Number+"" != arr[i]){
    alert("请输入数字且不能0开头!");
    obj.value = oldValue
    return;
    }
    if(Number>255 || Number<0){
    alert("数字不能大于255或者小于0");
    obj.value = oldValue
    return;
    }
    }
    }
    oldValue = obj.value;
    }
    //-->
    </SCRIPT>
    </HEAD><BODY>
    <INPUT TYPE="text" NAME="" onkeyup="test(this)">
    </BODY>
    </HTML>
      

  2.   

    to harryCom() 可以连续输入三个点呀
      

  3.   

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
    <HEAD>
    <TITLE> New Document </TITLE>
    <META NAME="Generator" CONTENT="EditPlus">
    <META NAME="Author" CONTENT="">
    <META NAME="Keywords" CONTENT="">
    <META NAME="Description" CONTENT="">
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    var oldValue = "";
    function test(obj){
    var arr = obj.value.split(".");
    if(arr.length>4){
    alert("IP格式有错");
    obj.value = oldValue
    return;
    }
    for(var i=0;i<arr.length;i++){
    if(arr[i]!=""){
    var Number = parseInt(arr[i],10);
    if(Number+"" != arr[i]){
    alert("请输入数字且不能0开头!");
    obj.value = oldValue
    return;
    }
    if(Number>255 || Number<0){
    alert("数字不能大于255或者小于0");
    obj.value = oldValue
    return;
    }
    }else if(arr[i] == "" && i != arr.length-1){
    alert("不能连续输入点或第一位不能为点!");
    obj.value = oldValue
    return;
    }
    }
    oldValue = obj.value;
    }
    //-->
    </SCRIPT>
    </HEAD><BODY>
    <INPUT TYPE="text" NAME="" onkeyup="test(this)">
    </BODY>
    </HTML>
      

  4.   

    <script>
    function checkIP()
    {var sIPAddress=document.form1.ip.value;   
    var exp=/^(\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])$/;
        var reg = sIPAddress.match(exp);
        var ErrMsg="你输入的是一个非法的IP地址段!\nIP段为::xxx.xxx.xxx.xxx(xxx为0-255)!"    
        var Msg="你输入的是一个合法的IP地址段!"    
        if(reg==null)
        {
            alert(ErrMsg);
        }
        else
        {
            alert(Msg);
        }
    }
    </script>
    <form name="form1">
    <input type="text" name="ip" size="15" onchange="checkIP()">........
    </form>
      

  5.   

    to  comflyer0590(努力加三角!!) 
    这个还是输入完之后才判断的呀
    有没有更简单的方法
      

  6.   

    //判断是否是合法的ip地址
    String.prototype.isIP=function(){
    var arr;
    var re=/^(\d+)\.(\d+)\.(\d+)\.(\d+)$/;
    if(arr=re.exec(this)){
    for(var i=1;i<arr.length;i++)
    if(parseInt(arr[i])>255){return false;}
    return true;
    }
    else return false;
    }
    使用:
    var a,b,c;
    a='192.168.99.99';
    b='1999.19.19.19';
    c='1111111111.1111';
    alert(a.isIP());
    alert(b.isIP());
    alert(c.isIP());
      

  7.   

    <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.   

    var s="202..78.123"; 
    alert(isip(s)) 
    这个返回也是true?!
      

  9.   

    没有那么复杂吧
    if (/^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/.test(这里写表单项的value)==0)
    {
      alert("error");
     //这里写将焦点置到表单项的语句
      return false;
    }
    这样就可以了