PHP IPV6正则表达式验证代码

 更新时间:2010年02月16日 12:48:45   作者:  
IPV6的时代快要到来了,发一个验证IPV6地址是否合法的正则。

复制代码 代码如下:

<?php
// literally from the ABNF in rfc3986 (thanks to 'WCP')
function validateIPv6($IP)
{
return preg_match('/\A
(?:
(?:
(?:[a-f0-9]{1,4}:){6}

::(?:[a-f0-9]{1,4}:){5}

(?:[a-f0-9]{1,4})?::(?:[a-f0-9]{1,4}:){4}

(?:(?:[a-f0-9]{1,4}:){0,1}[a-f0-9]{1,4})?::(?:[a-f0-9]{1,4}:){3}

(?:(?:[a-f0-9]{1,4}:){0,2}[a-f0-9]{1,4})?::(?:[a-f0-9]{1,4}:){2}

(?:(?:[a-f0-9]{1,4}:){0,3}[a-f0-9]{1,4})?::[a-f0-9]{1,4}:

(?:(?:[a-f0-9]{1,4}:){0,4}[a-f0-9]{1,4})?::
)
(?:
[a-f0-9]{1,4}:[a-f0-9]{1,4}

(?:(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}
(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])
)

(?:
(?:(?:[a-f0-9]{1,4}:){0,5}[a-f0-9]{1,4})?::[a-f0-9]{1,4}

(?:(?:[a-f0-9]{1,4}:){0,6}[a-f0-9]{1,4})?::
)
)\Z/ix',
$IP
);
}
?>

相关文章

  • PHP中批量生成静态html(命令行下运行PHP)

    PHP中批量生成静态html(命令行下运行PHP)

    这篇文章主要介绍了如何通过命令行下运行PHP命令,减少web请求,让网站运行的更稳定,生成速度也更快
    2014-04-04
  • PHP 7安装调试工具Xdebug扩展的方法教程

    PHP 7安装调试工具Xdebug扩展的方法教程

    Xdebug提供了丰富的调试函数,也可将Xdebug安装配置为zend studio、editplus调试PHP的第三方插件,通过开启自动跟踪(auto_trace)和分析器功能,可以直观的看到PHP源代码的性能数据,以便优化PHP代码,本文介绍了PHP 7安装调试工具Xdebug扩展的方法,需要的朋友可以参考。
    2017-06-06
  • PHP对象递归引用造成内存泄漏分析

    PHP对象递归引用造成内存泄漏分析

    这篇文章主要介绍了PHP对象递归引用造成内存泄漏分析,是PHP程序设计中需要加以重视的一个bug,并且有助于深入理解PHP运行原理,需要的朋友可以参考下
    2014-08-08
  • php超快高效率统计大文件行数

    php超快高效率统计大文件行数

    这篇文章主要介绍了php超快高效率统计大文件行数的相关资料,需要的朋友可以参考下
    2015-07-07
  • PHP实现登录的Cookie存储方案详解

    PHP实现登录的Cookie存储方案详解

    这篇文章主要介绍了PHP实现登录的Cookie存储方案详解的相关资料,需要的朋友可以参考下
    2023-02-02
  • PHP封装的数据库模型Model类完整示例【基于PDO】

    PHP封装的数据库模型Model类完整示例【基于PDO】

    这篇文章主要介绍了PHP封装的数据库模型Model类,结合实例形式分析了php基于PDO针对mysql数据库常见增删改查、统计、判断等相关操作封装与使用技巧,需要的朋友可以参考下
    2019-03-03
  • php计算中英文字符串长度的几种方法

    php计算中英文字符串长度的几种方法

    这篇文章主要给大家介绍了使用php计算中英文字符串长度的几种方法,文中有详细的代码示例供大家参考,对大家的学习或工作有一定的参考价值,需要的朋友可以参考下
    2023-11-11
  • 详解PHP数组赋值方法

    详解PHP数组赋值方法

    这篇文章主要介绍了详解PHP数组赋值方法,文章就怎样创建数组、怎样给PHP数组赋值,文章都做了详细的介绍和讲解,希望对大家有帮助。
    2015-11-11
  • PHP实现的构造sql语句类实例

    PHP实现的构造sql语句类实例

    这篇文章主要介绍了PHP实现的构造sql语句类,结合实例形式分析了PHP针对常用SQL语句的动态构造与生成技巧,需要的朋友可以参考下
    2016-02-02
  • PHP获取特殊时间戳的方法整理

    PHP获取特殊时间戳的方法整理

    时间在我们日常的代码编写中会是经常出现的筛选或排序条件,尤其是一些特殊时间节点的时间显得尤为突出。今天对部分相对简便的方法进行了部分整理,需要的可以参考一下
    2023-01-01

最新评论