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 相关文章推荐
基于文本的留言簿
Oct 09 PHP
一些被忽视的PHP函数(简单整理)
Apr 30 PHP
PHP启动windows应用程序、执行bat批处理、执行cmd命令的方法(exec、system函数详解)
Oct 20 PHP
ThinkPHP控制器间实现相互调用的方法
Oct 31 PHP
PHP安装threads多线程扩展基础教程
Nov 17 PHP
php实现登录tplink WR882N获取IP和重启的方法
Jul 20 PHP
Python中使用django form表单验证的方法
Jan 16 PHP
PHP巧妙利用位运算实现网站权限管理的方法
Mar 12 PHP
php实现批量上传数据到数据库(.csv格式)的案例
Jun 18 PHP
PDO::query讲解
Jan 29 PHP
PHP正则表达式笔记与实例详解
May 09 PHP
php+mysql实现的无限分类方法类定义与使用示例
May 27 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截取中文字符串的问题
2006/07/12 PHP
五款常用mysql slow log分析工具的比较分析
2011/05/22 PHP
PHP得到某段时间区间的时间戳 php定时任务
2012/04/12 PHP
php实现不通过扩展名准确判断文件类型的方法【finfo_file方法与二进制流】
2017/04/18 PHP
JavaScript 字符串连接性能优化
2008/12/20 Javascript
jquery 应用代码 方便的排序功能
2010/02/06 Javascript
JavaScript prototype对象的属性说明
2010/03/13 Javascript
jQuery中live方法的重复绑定说明
2011/10/21 Javascript
jquery子元素过滤选择器使用示例
2013/06/24 Javascript
jQuery javaScript捕获回车事件(示例代码)
2013/11/07 Javascript
浅析XMLHttpRequest的缓存问题
2013/12/13 Javascript
使用js完成节点的增删改复制等的操作
2014/01/02 Javascript
jQuery自定义添加&quot;$&quot;与解决&quot;$&quot;冲突的方法
2015/01/19 Javascript
jQuery和AngularJS的区别浅析
2015/01/29 Javascript
javascript手工制作悬浮菜单
2015/02/12 Javascript
JQuery中Bind()事件用法分析
2015/05/05 Javascript
javascript创建cookie、读取cookie
2016/03/31 Javascript
关于javascript事件响应的基础语法总结(必看篇)
2016/12/26 Javascript
基于node搭建服务器,写接口,调接口,跨域的实例
2018/05/13 Javascript
JavaScript模板引擎应用场景及实现原理详解
2018/12/14 Javascript
jQuery实现的中英文切换功能示例
2019/01/11 jQuery
使用TS来编写express服务器的方法步骤
2020/10/29 Javascript
下载安装setuptool和pip linux安装pip    
2014/01/24 Python
python抓取并保存html页面时乱码问题的解决方法
2016/07/01 Python
Python cookbook(数据结构与算法)实现对不原生支持比较操作的对象排序算法示例
2018/03/15 Python
Python生成器定义与简单用法实例分析
2018/04/30 Python
用Anaconda安装本地python包的方法及路径问题(图文)
2019/07/16 Python
opencv3/C++图像像素操作详解
2019/12/10 Python
使用Python将Exception异常错误堆栈信息写入日志文件
2020/04/08 Python
园林资料员岗位职责
2013/12/30 职场文书
cf收人广告词大全
2014/03/14 职场文书
坎儿井导游词
2015/02/09 职场文书
企业财务经理岗位职责
2015/04/08 职场文书
观后感开头
2015/06/19 职场文书
用Python爬取某乎手机APP数据
2021/06/15 Python
为什么MySQL分页用limit会越来越慢
2021/07/25 MySQL