验证IP范围和子网

时间:2013-12-02 14:38:05

标签: javascript regex

我需要编写一个接受IP范围或子网的JavaScript函数并验证它。

像10.0.0.1/24应该返回true

10.0.0.1-10.0.0.10应该返回true。

1 个答案:

答案 0 :(得分:2)

使用:

((\b|\.)(1|2(?!5(?=6|7|8|9)|6|7|8|9))?\d{1,2}){4}(-((\b|\.)(1|2(?!5(?=6|7|8|9)|6|7|8|9))?\d{1,2}){4}|\/((1|2|3(?=1|2))\d|\d))\b

http://regex101.com/r/aJ6jK2

这个也允许前导零:

((\b|\.)(0|1|2(?!5(?=6|7|8|9)|6|7|8|9))?\d{1,2}){4}(-((\b|\.)(0|1|2(?!5(?=6|7|8|9)|6|7|8|9))?\d{1,2}){4}|\/((0|1|2|3(?=1|2))\d|\d))\b

http://regex101.com/r/tT8sC5