本文转载:https://www.sky8g.com/technology/2703/,详情阅读请点击。
大家在做PHP开发的时候,遇到如何判断IP地址、以及验证IPv4和IPv6的有效性。
接下来我将为大家介绍几个功能强大的验证和判断IP地址的有效性,这样在开发过程对我非常的有帮助,接下来请看看下面的代码如何验证IP的值。此篇文章是由
SKY8G网独立提供给大家,未经允许禁止抄袭,否则必究。
好了,多余的话不多 ,直接代码展示给大家看:
IPv4函数判断
//此函数有SKY8G网提供
function validateIPv4($value)
{
if (preg_match('/^([01]{8}.){3}[01]{8}z/i', $value)) {
//二进制数 00000000.00000000.00000000.00000000
$value = bindec(substr($value, 0, 8)) . '.' . bindec(substr($value, 9, 8)) . '.'
. bindec(substr($value, 18, 8)) . '.' . bindec(substr($value, 27, 8));
} elseif (preg_match('/^([0-9a-f]{2}.){3}[0-9a-f]{2}z/i', $value)) {
//十六进制格式 ff.ff.ff.ff
$value = hexdec(substr($value, 0, 2)) . '.' . hexdec(substr($value, 3, 2)) . '.'
. hexdec(substr($value, 6, 2)) . '.' . hexdec(substr($value, 9, 2));
}
$ip2long = ip2long($value);
if ($ip2long === false) {
return false;
}
return ($value == long2ip($ip2long));
}