ip正则(js)

232 阅读1分钟

IPv4正则

IP地址形如: XXX.XXX.XXX.XXX

4段*8位,每段都是.分割,每段之间都是0-255之间的十进制数组(2的8次方个数值)

约束条件: 1.三个.分割 2.每段数值在0-255之间

每段数值限定

取值区间 正则写法 可以合并的写法 可以合并的写法 可以合并的写法
0-9 \d [1-9]?|\d ( 1\d{2} | [1-9]?\d ) (25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))
10-99 [1-9]\d
100-199 1\d{2} -
200-249 2[0-4]\d - -
250-255 25[0-5] - -

正则表示

((25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d))).){3}(25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))

限定以数值结尾 在正则表达式后加$

代码测试

const rule = new RegExp(/((25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))\.){3}(25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))$/);
 rule.test('0.0.0.0.'); // false
 rule.test('0.33.2.50'); // true