如何检查用户输入是否是有效的IP地址?

San*_*dev 17 php ip validation

我想检查输入的输入是否是有效的IP地址.我想要一个特定的功能,可以帮助我验证用户输入.

dec*_*eze 71

filter_var($ip, FILTER_VALIDATE_IP)
Run Code Online (Sandbox Code Playgroud)

http://www.php.net/filter_var

  • 我通常也会检查以确保它不是私有或保留的IP:`filter_var($ agree_ip,FILTER_VALIDATE_IP,FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE)` (10认同)
  • @DavidConstantine原因这是有效的IPv6地址。 (3认同)

chi*_*org 11

// Usually you'd get the value from $_POST or $_GET
$ip = "10.3.1.5";
if(!filter_var($ip, FILTER_VALIDATE_IP)) {
   echo "Not a valid IP address!";
}
Run Code Online (Sandbox Code Playgroud)

您可以通过过滤IPv4和IPv6 IP地址并排除专用IP和保留IP来修改此问题.

http://www.php.net/manual/filter.filters.validate.php