PHP IPV6正则表达式验证代码


Posted in PHP onFebruary 16, 2010

<?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 相关文章推荐
PHP动态图像的创建
Oct 09 PHP
十天学会php(2)
Oct 09 PHP
php 生成WML页面方法详解
Aug 09 PHP
第4章 数据处理-php数组的处理-郑阿奇
Jul 04 PHP
php数组函数序列之array_pop() - 删除数组中的最后一个元素
Nov 07 PHP
基于HBase Thrift接口的一些使用问题及相关注意事项的详解
Jun 03 PHP
深入PHP nl2br()格式化输出的详解
Jun 05 PHP
php通过隐藏表单控件获取到前两个页面的url
Sep 09 PHP
php打印输出棋盘的实现方法
Dec 23 PHP
ThinkPHP中调用PHPExcel的实现代码
Apr 08 PHP
Laravel如何自定义command命令浅析
Mar 23 PHP
php反序列化长度变化尾部字符串逃逸(0CTF-2016-piapiapia)
Feb 15 PHP
php foreach 使用&amp;(与运算符)引用赋值要注意的问题
Feb 16 #PHP
PHP 截取字符串函数整理(支持gb2312和utf-8)
Feb 16 #PHP
Apache环境下PHP利用HTTP缓存协议原理解析及应用分析
Feb 16 #PHP
一步一步学习PHP(6) 面向对象
Feb 16 #PHP
一步一步学习PHP(5) 类和对象
Feb 16 #PHP
php 生成静态页面的办法与实现代码详细版
Feb 15 #PHP
IP138 IP地址查询小偷实现代码
Feb 15 #PHP
You might like
如何利用PHP执行.SQL文件
2013/07/05 PHP
php自定义的格式化时间示例代码
2013/12/05 PHP
ThinkPHP CURD方法之where方法详解
2014/06/18 PHP
详解Yaf框架PHPUnit集成测试方法
2017/12/27 PHP
php输出控制函数和输出函数生成静态页面
2019/06/27 PHP
laravel5.0在linux下解决.htaccess无效和去除index.php的问题
2019/10/16 PHP
在js中使用&quot;with&quot;语句中跨frame的变量引用问题
2007/03/08 Javascript
JavaScript下申明对象的几种方法小结
2008/10/02 Javascript
jQuery处理xml格式的返回数据(实例解析)
2013/11/28 Javascript
jQuery过滤选择器用法示例
2016/09/12 Javascript
vue.js初学入门教程(1)
2016/11/03 Javascript
微信小程序 获取当前地理位置和经纬度实例代码
2016/12/05 Javascript
JavaScript实现的商品抢购倒计时功能示例
2017/04/17 Javascript
jQuery常见面试题之DOM操作详析
2017/07/05 jQuery
微信小程序实现点击按钮修改view标签背景颜色功能示例【附demo源码下载】
2017/12/06 Javascript
基于vue.js中关于下拉框的值默认及绑定问题
2018/08/22 Javascript
使vue实现jQuery调用的两种方法
2019/05/12 jQuery
基于JS实现父组件的请求服务过程解析
2019/10/14 Javascript
用Node写一条配置环境的指令
2019/11/14 Javascript
js实现旋转木马轮播图效果
2020/01/10 Javascript
React中Ref 的使用方法详解
2020/04/28 Javascript
vuex分模块后,实现获取state的值
2020/07/26 Javascript
js实现限定区域范围拖拉拽效果
2020/11/20 Javascript
vue 动态生成拓扑图的示例
2021/01/03 Vue.js
Python入门之后再看点什么好?
2018/03/05 Python
Python脚本修改阿里云的访问控制列表的方法
2019/03/08 Python
python如何从文件读取数据及解析
2019/09/19 Python
Python中的 ansible 动态Inventory 脚本
2020/01/19 Python
Pytorch之Tensor和Numpy之间的转换的实现方法
2020/09/03 Python
在python中对于bool布尔值的取反操作
2020/12/11 Python
Python抖音快手代码舞(字符舞)的实现方法
2021/02/07 Python
怎样在 Applet 中建立自己的菜单(MenuBar/Menu)?
2012/06/20 面试题
捐款倡议书范文
2014/02/02 职场文书
三爱活动实施方案
2014/03/19 职场文书
python绘制简单直方图(质量分布图)的方法
2022/04/21 Python
mysql sock文件存储了什么信息
2022/07/15 MySQL