关于ip地址和端口号的正则匹配

本文详细解析了IP地址及端口号的有效输入范围和正则表达式的构造方法,涵盖0-255的IP地址各段及0-65535的端口号的精确匹配规则。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

确定一下ip地址可输入范围0-255,最大允许输入格式:255.255.255.255

正则校验255 以内的数字,可以做两部分校验;0-199的范围,以及200-255的范围

0-199:

首位是0,1中的一个,正则写法 [0-1]?     ?表示匹配0或者1次,等价于{0,1}

后边99的范围,正则写法 \d{0,2}   \d等价于[0-9]

完整写法:[0-1]? \d{0,2} 

200-255:

首位固定为2,

后两位需要继续给他拆分0-49,50-55

0-49 正则写法 [0-4]\d

50-55 正则写法 5[0-5]

完整写法:2[0-4]\d|25[0-5]

整个255正则匹配:

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

整个ip的匹配:

/^((2[0-4]\d|25[0-5])|[0-1]? \d{0,2})(\.((2[0-4]\d|25[0-5])|[0-1]? \d{0,2})){3})$/g

 

 

端口号:

最大可输入端口号为65535,同样的思路先来拆分:0-59999,60000-64999,65000-65499,65500-65529,65530-65535

0-59999:

首位0-5,正则写法 [0-5]?,剩余0-9999,正则写法\d{0-4}  完整写法:[0-5]?\d{0,4}

60000-64999 首位6,第二位0-4,剩余0-999 正则写法:6[0-4]\d{3}

65000-65499 正则写法:65[0-4]\d{2}

65500-65529 正则写法: 655[0-2]\d

65530-65535 正则写法:6553[0-5]

 

匹配端口完整写法:

/^((6[0-4]\d{3}|65[0-4]\d{2}|655[0-2]\d|6553[0-5])|[0-5]?\d{0,4})$/g

 

ps: 可以写个循环来验证范围内是否匹配成功  string.match(RegExp)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值