Функция PHP для проверки IPv4 и IPv6 с помощью регулярных выражений
Мне нужно создать функцию для 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 или 6. Также было бы неплохо проверить работоспособность вышеупомянутой концепции функции.