IPv4 和 IPv6 正则表达式
Pv4 地址例如,”192.168.0.2“,为 . 分割的4段数字,数字范围为 0 - 255,而我们的正则表达式需要匹配的就是 0 - 255,首先我们对这一区间进行拆分:
1. 0 - 9 只有一位数字,正则表达式:\d;
2. 10 - 99 二位数,十位数1 - 9,个位数 0 - 9,正则表达式:[1-9]\d;
3. 100 - 199,百位数 1,十位数个位数均为 0 - 9,正则表达式:1\d\d;
4. 200 - 249,百位数 2,十位数 0 - 4,个位数 0 - 9,正则表达式:2[0-4]\d;
5. 250 - 255,百位数 2,十位数5,个位数 0 - 5,正则表达式:25[0-5]
步骤4、5可以进行一次整合:2([0-4]\d|5[0-5])(200 - 255)。
综上在结合 . 这个连接符,在IP最后手动填上一个 . 就可以重复4次,最后的正则表达式为:
var ipv4 = /^()(\d|[1-9]\d|1\d\d|2([0-4]\d|5[0-5]))\.){4}$/;
return ipv4.test(IP + ".");
IPv6 正则规则
IPv6 地址例如,”2001:0d