怎样通过正则匹配IP地址

Posted aisowe

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎样通过正则匹配IP地址相关的知识,希望对你有一定的参考价值。

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

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

[01]dd

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]?dd?).){3}(2[0-4]d|25[0-5]|[01]?dd?)/

 

下面是测试: 

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

 

以上是关于怎样通过正则匹配IP地址的主要内容,如果未能解决你的问题,请参考以下文章

如何用正则表达式匹配出如下代码中的IP地址跟IP地址归属地?

正则表达式,匹配IP地址的,求大神帮我解释这行代码。^([1-9][1-9][0-9]1[0-

如何用正则表达式匹配IP地址

python实战系列之正则获取IP地址

用正则表达式提取网址中的IP怎样取?

java怎样通过正则表达式判断下面的IP