JS 判斷是否爲IP格式

//一

function checkIP(){
    var ip = document.getElementById('cameraPort').value;  
    var reg=/^(\d+)\.(\d+)\.(\d+)\.(\d+)$/;//正則表達式     
	if(reg.test(ip)){     
		if( RegExp.$1<256 && RegExp.$2<256 && RegExp.$3<256 && RegExp.$4<256){
		     alert("IP正確!");
		     return true;

		}else{     
			alert("IP有誤!");     
			 return false; 
		}           
   }    
}  



//二
var isIp = function (){
    var regexp = /^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/;     
    return function(value){
        var valid = regexp.test(value);
        if(!valid){//首先必須是 xxx.xxx.xxx.xxx 類型的數字,若是不是,返回false
            return false;
        }
        return value.split('.').every(function(num){
            //切割開來,每一個都作對比,能夠爲0,能夠小於等於255,可是不能夠0開頭的倆位數
            //只要有一個不符合就返回false
            if(num.length > 1 && num.charAt(0) === '0'){
                //大於1位的,開頭都不能夠是‘0’
                return false;
            }else if(parseInt(num , 10) > 255){
                //大於255的不能經過
                return false;
            }
            return true;
        });
    }
}();
var test_ip = '123.12.123.1';//一個普通的ip
alert(isIp(test_ip));//返回true
var test_ips = '123.1.1.1,127.0.0.1,192.168.1.1';//多個IP,用逗號(,)隔開
var isTrue = test_ips.split(',').every(function(ip){
  return isIp(ip);//先將字符串按照逗號分紅數組,在校驗就能夠了
});
alert(isTrue);//返回true,上面的ip所有正確
相關文章
相關標籤/搜索