这里提供两种方法:
1.正则表达式
// 多IP的验证
jQuery.validator.addMethod("s_ips", function(value, element) {
var s_ips = /^(?:(?:^|,)(?:[0-9]|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])(?:\.(?:[0-9]|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3})+$/;
return this.optional(element) || (s_ips.test(value));
}, "格式不正确");
2.js function手动校验
function testIpList() {
// 把 ips 按逗号拆成 IP 数组,分别进行验证
// every 表示每个 ip 验证通过才算通过
var ips = $("#ips").val();
return ips.split(",")
.every(ip => {
// 把每个 IP 拆成几段
const segments = ip.split(".");
// 如果是精确的 4 段而且每段转换成数字都在 1~255 就对了
if(segments.length === 4
&& segments
.map(segment => parseInt(segment, 10) || 0)
.every(n => n >= 0 && n <= 255)){
alert("true");
return true;
}
alert("false");
return false;
});