php判断ip地址是否合法,php判断ip地址是否正确的代码?

用户投稿 122 0

关于“php判断ip是否合法”的问题,小编就整理了【3】个相关介绍“php判断ip是否合法”的解答:

php判断ip地址是否正确的代码?

想要正确的使用正则表达式来判断 IP 地址正确与否,重点就是如何使用正则表达式来表示 IP 中的 4 个数字,保证它们的取值范围在 0~255 之间。

如下所示:

([0-9]?[0-9])|(1[0-9]{2})|(2[0-4][0-9])|(25[0-5])

有了上面的正则表达式,定义好4组数正则表达式

((([0-9]?[0-9])|(1[0-9]{2})|(2[0-4][0-9])|(25[0-5]))\.){3}(([0-9]?[0-9])|(1[0-9]{2})|(2[0-4][0-9])|(25[0-5]))

至此正则表达式就是定义好了,将它放到代码中来验证一下,代码如下所示:

function validateip($ip){

$preg="/^((([0-9]?[0-9])|(1[0-9]{2})|(2[0-4][0-9])|(25[0-5]))\.){3}(([0-9]?[0-9])|(1[0-9]{2})|(2[0-4][0-9])|(25[0-5]))/";

preg_match($preg,$ip,$matches);

if(!empty($matches)) return 1;

怎样判断ip地址是否合法?

判断IP地址合法步骤:

1、首先了解下IP地址是什么,IP地址分为A类,B类,C类,D类,E类。A类的IP地址范围为0.0.0.0-127.255.255.255,B类的IP地址范围为128.0.0.0-191.255.255.255,C类的IP地址范围为192.0.0.0-223.255.255.255。

2、然后判断标识长度,在A类IP地址里,其中网络的标识长度为8位,主机标识的长度为24位,子网掩码为255.0.0.0。B类适合用于中等规模的网络,其中网络的标识长度为16位,主机标识的长度为16位,子网掩码为255.255.0.0。C类适合小规模的局域网,其中网络的标识长度为24位,主机标识的长度为8位,子网掩码为255.255.255.0。

3、最后判断是否合法,在每个合法的IP地址中,有4个3位数用“.”隔开的数字,而且每个三位数都在0到255之间,并且包含255这个数字。相信大家在学习后,已经知晓如何判断IP地址是否合法了。

IP地址:

互联网协议地址(英语:Internet Protocol Address,又译为网际协议地址),缩写为IP地址(IP Address)。IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。

如何判断是合法IP地址还是非法的IP地址?

判断IP地址是否合法,需要遵循以下规则:

1. IP地址由4个8位二进制数组成,每个数组的取值范围是0~255。

2. IP地址中每个数组之间使用“.”分隔。

3. IP地址中不能包含除数字和“.”以外的其他字符。

4. IP地址中每个数组的前导零可以省略,但不能省略数组本身。

5. IP地址中每个数组的值不能大于255或小于0。

因此,如果一个字符串符合以上规则,就可以认为是一个合法的IP地址。反之,如果不符合以上规则,则可以认为是一个非法的IP地址。

例如,以下是合法的IP地址:

- 192.168.0.1

- 172.16.0.0

- 10.0.0.1

以下是非法的IP地址:

- 192.168.0.256(最后一个数组的值超出了取值范围)

- 192.168.0 (数组数量不足4个)

- 192.168.0.01 (前导零不能省略)

- 192.168.0.abc (包含非数字和“.”的字符)

到此,以上就是小编对于“php判断ip是否合法”的问题就介绍到这了,希望介绍关于“php判断ip是否合法”的【3】点解答对大家有用。

抱歉,评论功能暂时关闭!