【问题标题】:How to validate IPv4 and IPv6 with PHP [closed]如何使用 PHP 验证 IPv4 和 IPv6 [关闭]
【发布时间】:2018-09-15 17:21:06
【问题描述】:

注意!我不能在我的应用程序中使用 filter_var。只有通用函数。 也许是一个正则表达式?

<?php
  if (is_valid_ipv4($ip)) { ... }
  else if (is_valid_ipv6($ip) { ... }
  else { ... }
?>

【问题讨论】:

标签: php


【解决方案1】:

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

function validateIP($ip){
    return inet_pton($ip) !== false;
}

【讨论】:

  • 加 1 教我一些新东西
  • 小心:inet_pton() 也会抛出 E_WARNING 如果提供的值无效,则返回 false
  • @ishegg 我正要对E_WARNING 发表同样的评论,但我认为返回false 对于PHP 来说并非完全出乎意料。
  • 当然是一个有趣的选项,但接下来的问题是,这个函数的底层代码与filter_var()相比的复杂性/性能如何?
  • @MonkeyZeus the lastest PHP7 alpha (7.3.0alpha1) 抑制警告(研究时才发现)
猜你喜欢
  • 1970-01-01
  • 2012-03-01
  • 2023-04-01
  • 2014-11-01
  • 2012-03-25
  • 2013-06-02
  • 2021-11-08
  • 1970-01-01
  • 2010-10-08
相关资源
最近更新 更多