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数组的一些常见操作汇总
Jul 17 PHP
php和javascript之间变量的传递实现代码
Dec 19 PHP
PHP 面向对象程序设计(oop)学习笔记(三) - 单例模式和工厂模式
Jun 12 PHP
ThinkPHP实现多数据库连接的解决方法
Jul 01 PHP
PHP中可以自动分割查询字符的Parse_str函数使用示例
Jul 25 PHP
php去掉文件前几行的方法
Jul 29 PHP
学习php设计模式 php实现单例模式(singleton)
Dec 07 PHP
php文件操作小结(删除指定文件/获取文件夹下的文件名/读取文件夹下图片名)
May 09 PHP
php用户密码加密算法分析【Discuz加密算法】
Oct 12 PHP
yii2安装详细流程
May 23 PHP
PHP PDOStatement::execute讲解
Jan 31 PHP
Laravel框架中队列和工作(Queues、Jobs)操作实例详解
Apr 06 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
德生BCL3000的电路分析和打磨
2021/03/02 无线电
PHP实现防止表单重复提交功能【基于token验证】
2018/05/24 PHP
php设计模式之装饰模式应用案例详解
2019/06/17 PHP
JavaScript 图片预览效果 推荐
2009/12/22 Javascript
jQuery 打造动态下滑菜单实现说明
2010/04/15 Javascript
ie下动态加态js文件的方法
2011/09/13 Javascript
利用js制作html table分页示例(js实现分页)
2014/04/25 Javascript
js轮播图代码分享
2016/07/14 Javascript
js仿小米官网图片轮播特效
2016/09/29 Javascript
Javascript中document.referrer隐藏来源的方法
2017/01/16 Javascript
webpack 插件html-webpack-plugin的具体使用
2018/04/09 Javascript
JS+HTML5实现获取手机验证码倒计时按钮
2018/08/08 Javascript
使用Node.js写一个代码生成器的方法步骤
2019/05/10 Javascript
JavaScript中callee和caller的区别与用法实例分析
2019/06/28 Javascript
详解vue-video-player使用心得(兼容m3u8)
2019/08/23 Javascript
JavaScript仿京东秒杀倒计时
2020/03/17 Javascript
jQuery插件实现图片轮播效果
2020/10/19 jQuery
[46:50]Liquid vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
python模拟登陆阿里妈妈生成商品推广链接
2014/04/03 Python
深入理解Python 代码优化详解
2014/10/27 Python
详解Python的迭代器、生成器以及相关的itertools包
2015/04/02 Python
Django内容增加富文本功能的实例
2017/10/17 Python
Python探索之Metaclass初步了解
2017/10/28 Python
替换python字典中的key值方法
2018/07/06 Python
解决Pycharm调用Turtle时 窗口一闪而过的问题
2019/02/16 Python
python线程join方法原理解析
2020/02/11 Python
Python实时监控网站浏览记录实现过程详解
2020/07/14 Python
Html5饼图绘制实现统计图的方法
2020/08/05 HTML / CSS
美国按摩椅批发网站:Titan Chair
2018/12/27 全球购物
FC-Moto美国:欧洲最大的摩托车服装和头盔商店之一
2019/08/24 全球购物
公安机关正风肃纪剖析材料
2014/10/10 职场文书
检讨书怎么写
2015/01/23 职场文书
求职自荐信范文(优秀篇)
2015/03/27 职场文书
一篇文章弄懂MySQL查询语句的执行过程
2021/05/07 MySQL
JavaScript选择器函数querySelector和querySelectorAll
2021/11/27 Javascript
试用1103暨1103、1101同门大比武 [ DAIWEI ]
2022/04/05 无线电