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全部正确