我平时正则写的少,太菜了 首先放一个我网上找的 ipv4 的正则:
export function validIpv4(str) {
const reg = /^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/
return reg.test(str)
}
实际需求是网段的正则,不是那种简单的两个 ipv4 中间加个-:
列如:
小网段:192.168.1.1-192.168.1.254 --> 要求格式:192.168.1.1-254
大网段:201.110.208.1-201.110.223.254 --> 要求格式:201.110.208.1-223.254
看到这个正则需求我人傻了
1
HashV2 OP 这个节点好冷清啊[苦涩]
|
2
ygb8745 2021-03-08 20:57:42 +08:00
^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\-(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){0,3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$
-- 网段写全不好吗? 什么需求 ->_-> |
5
wheatup 2021-04-07 18:34:28 +08:00
做好分支,还是挺简单的:
``` ^((192\.168\.1|201.110\.2(0[8-9]|1\d|2[0-3]))\.([1-9]\d?|1\d\d|2[0-3]\d|24\d|25[0-4]))$ ``` https://regex101.com/r/xbMdDk/1/ |