如何使用PHP验证IPv4和IPv6

Lex*_*Lex -6 php

注意!我不能在我的应用程序中使用filter_var.只有通用功能.也许正则表达式?

<?php
  if (is_valid_ipv4($ip)) { ... }
  else if (is_valid_ipv6($ip) { ... }
  else { ... }
?>
Run Code Online (Sandbox Code Playgroud)

小智 8

你可以使用inet_pton.如果IP不是有效的IPv6或IPv4,则返回false:

function validateIP($ip){
    return inet_pton($ip) !== false;
}
Run Code Online (Sandbox Code Playgroud)

  • 但是要小心:`inet_pton()`如果提供的值无效,也会抛出`E_WARNING`并返回`false` (2认同)