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 ftp文件上传函数(基础版)

    php ftp文件上传函数(基础版)

    很多时间我们不会用于php ftp函数文件上传,但有在使用比较高级的WEB应用时就会用到关于ftp功能,如我现在要把上传的图片传B服务器,数据保存到A服务器,普通的php文件上传实现不了,但用ftp功能就可以方便的使用了。
    2010-06-06
  • Content-Disposition使用方法和注意事项

    Content-Disposition使用方法和注意事项

    这篇文章主要为大家详细介绍了Content-Disposition使用方法和注意事项,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-09-09
  • php使用ob_flush不能每隔一秒输出原理分析

    php使用ob_flush不能每隔一秒输出原理分析

    这篇文章主要介绍了php使用ob_flush不能每隔一秒输出原理,较为详细的分析了php使用ob_flush的相关原理与Linux下使用cli方式的使用方法,需要的朋友可以参考下
    2015-06-06
  • 单台服务器的PHP进程之间实现共享内存的方法

    单台服务器的PHP进程之间实现共享内存的方法

    这篇文章主要介绍了单台服务器的PHP进程之间实现共享内存的方法,需要的朋友可以参考下
    2014-06-06
  • GBK的页面输出JSON格式的php函数

    GBK的页面输出JSON格式的php函数

    encode之前转换为utf-8,decode之后转回gbk:
    2010-02-02
  • PHP+JQuery+Ajax实现分页方法详解

    PHP+JQuery+Ajax实现分页方法详解

    这篇文章主要介绍了PHP+JQuery+Ajax实现分页的方法,结合实例形式详细分析了php数据查询、分页设置及ajax交互的相关技巧,并总结了分页的相关注意事项,需要的朋友可以参考下
    2016-08-08
  • 详谈php ip2long 出现负数的原因及解决方法

    详谈php ip2long 出现负数的原因及解决方法

    下面小编就为大家带来一篇详谈php ip2long 出现负数的原因及解决方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04
  • php简单创建zip压缩文件的方法

    php简单创建zip压缩文件的方法

    这篇文章主要介绍了php简单创建zip压缩文件的方法,实例分析了php基于ZipArchive实现文件压缩的相关技巧,需要的朋友可以参考下
    2016-04-04
  • 浅谈PHP正则表达式中修饰符/i, /is, /s, /isU

    浅谈PHP正则表达式中修饰符/i, /is, /s, /isU

    我们在PHP正则表达式的学习中会碰到修饰符,那么关于PHP正则表达式修饰符的理解以及使用我们需要注意什么呢?那么我们来具体的看看它的概念以及相关内容。
    2014-10-10
  • Optimizer与Debugger兼容性问题的解决方法

    Optimizer与Debugger兼容性问题的解决方法

    网上许多声音说Optimizer与Debugger有冲突,不能同时开。其实是可以的,他们两个都是Zend扩展插件,两个单独安装都可以使用,但是要同时安装的话必须使用一个管理器
    2008-12-12

最新评论