我需要创建一个函数来处理IPv4和v6地址,同时还需要支持本地IP地址。
我知道有效的IPv4范围是0.0.0.0到255.255.255.255。至于IPv6,我的了解有限,尽管它已经存在一段时间了,但直到今天我才开始了解它。但我希望在保留一定复古感的同时,使得我正在创建的函数具备一定的未来兼容性。我不确定IPv6的有效范围是什么。
总之,我的想法是创建一个函数,大致如下:
function validateIP($ip, $vSix = NULL)
{
if($vSix !== NULL)
{
if(preg_match([regex-to-validate-ipv6], $ip))
{
return true;
}
else
{
return false;
}
}
if(preg_match([regex-to-validate-ipv4], $ip))
{
return true;
}
else
{
return false;
}
}
我的问题是我不擅长正则表达式,所以我不知道如何编写一个可以验证v4或v6的表达式。此外,对上述函数概念的合理性检查也会很好。
$isValid
不是boolean
类型。根据文档:返回过滤后的数据,如果过滤失败则返回 FALSE。 - schnittstabil