怎样通过正则匹配IP地址

瘦欲@ 提交于 2019-12-02 06:09:29

Ipv4的地址是0.0.0.0 到 255.255.255.255, 匹配这个字段需要判断三种情况: 

1. 如果第一位是0或1, 则第二位和第三位可以是0-9的任意数值: 

[01]\d\d

2. 如果第一位是2, 第二位是0-4, 那第三位可以是0-9的任意数值: 

2[0-4]\d

3. 如果第一位是2, 第二位是5, 那第三位只能是0-5的之间的数值: 

25[0-5]

 

上面三种情况整合起来就得到下面的正则, 前三个数后面是有一个"."的, 所以归为一组, 匹配3次, 后面三个数没有点, 原样写一份就行了.

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

 

下面是测试: 

/((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)/.test("0.0.0.0"); // true
/((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)/.test("256.0.0.0"); // false

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!