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所有正确
相关文章
相关标签/搜索