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 相关文章推荐
基于asp+ajax和数据库驱动的二级联动菜单
May 06 PHP
PHP删除数组中特定元素的两种方法
Jul 02 PHP
PHP $_FILES中error返回值详解
Jan 30 PHP
PHP之sprintf函数用法详解
Nov 12 PHP
Yii框架form表单用法实例
Dec 04 PHP
分享五个PHP7性能优化提升技巧
Dec 07 PHP
WordPress主题制作中自定义头部的相关PHP函数解析
Jan 08 PHP
thinkPHP5 tablib标签库自定义方法详解
May 10 PHP
PHP实现网站访问量计数器
Oct 27 PHP
tp5框架内使用tp3.2分页的方法分析
May 05 PHP
深入分析PHP设计模式
Jun 15 PHP
PHP使用Redis队列执行定时任务实例讲解
Mar 24 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
第十四节 命名空间 [14]
2006/10/09 PHP
Apache, PHP在Windows 9x/NT下的安装与配置 (二)
2006/10/09 PHP
PHP 遍历文件实现代码
2011/05/04 PHP
yii实现创建验证码实例解析
2014/07/31 PHP
Linux+Nginx+MySQL下配置论坛程序Discuz的基本教程
2015/12/23 PHP
php性能分析之php-fpm慢执行日志slow log用法浅析
2016/10/17 PHP
PHP中创建和编辑Excel表格的方法
2018/09/13 PHP
PHP生成指定范围内的N个不重复的随机数
2019/03/18 PHP
tp5.1 框架查询表达式用法详解
2020/05/25 PHP
js获取提交的字符串的字节数
2009/02/09 Javascript
全国省市二级联动下拉菜单 js版
2016/05/10 Javascript
JavaScript跨域调用基于JSON的RESTful API
2016/07/09 Javascript
NodeJS中的MongoDB快速入门详细教程
2016/11/11 NodeJs
JS+canvas实现的五子棋游戏【人机大战版】
2017/07/19 Javascript
基于JavaScript实现五子棋游戏
2020/08/26 Javascript
微信小程序实现换肤功能
2018/03/14 Javascript
Python+Opencv识别两张相似图片
2020/03/23 Python
浅谈numpy中linspace的用法 (等差数列创建函数)
2017/06/07 Python
TensorFlow搭建神经网络最佳实践
2018/03/09 Python
Python中elasticsearch插入和更新数据的实现方法
2018/04/01 Python
python 以16进制打印输出的方法
2018/07/09 Python
Python用5行代码实现批量抠图的示例代码
2020/04/14 Python
Python3使用tesserocr识别字母数字验证码的实现
2021/01/29 Python
css3实现input输入框颜色渐变发光效果代码
2014/04/02 HTML / CSS
Jacadi Paris美国官方网站:法国童装品牌
2017/10/15 全球购物
Wiggle美国:英国骑行、跑步、游泳、铁人三项商店
2018/10/27 全球购物
俄罗斯最大的灯具网站:Fandeco
2020/03/14 全球购物
Jar包的作用是什么
2014/03/30 面试题
益模软件Java笔试题
2012/03/27 面试题
如何开启linux的ssh服务
2013/06/03 面试题
我的梦想演讲稿
2014/04/30 职场文书
聘用意向书
2014/07/29 职场文书
个人四风问题对照检查材料思想汇报
2014/10/06 职场文书
工厂员工辞职信范文
2015/05/12 职场文书
2015年校务公开工作总结
2015/05/26 职场文书
js基于div丝滑实现贝塞尔曲线
2022/09/23 Javascript