项目场景:
正则校验IP地址:
192.168.20.111;192.168.20.3-12
校验可以通过
解决方案:
代码实现:
但是这个校验后面不能加;
多个可以用;
隔开,但是最后一个IP地址不能加
// 正则
var pattern =
/^(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)){3}(?:-(?:[0-9]{1,4}))?(?:;(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)){3}(?:-(?:[0-9]{1,4}))?)*$/;
var result1 = pattern.test("196.23.23.23"); // true
var result2 = pattern.test("196.23.23.23;196.23.32.3"); // true
var result3 = pattern.test("196.23.23.23;196.23.32.3-12"); // true
var result4 = pattern.test("196.23.32.3-12"); // true
var result5 = pattern.test("196.23.32.3-12;"); // false
var result6 = pattern.test("196.23.32.3;"); // false