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
服务器端解压缩zip的脚本
Dec 22 PHP
php将数据库中的电话号码读取出来并生成图片
Aug 31 PHP
typecho插件编写教程(五):核心代码
May 28 PHP
php设置页面超时时间解决方法
Sep 22 PHP
AJAX PHP无刷新form表单提交的简单实现(推荐)
Sep 09 PHP
PHP模拟http请求的方法详解
Nov 09 PHP
PHP获取真实客户端的真实IP
Mar 07 PHP
PHP基于MySQLI函数封装的数据库连接工具类【定义与用法】
Aug 11 PHP
实例分析基于PHP微信网页获取用户信息
Nov 24 PHP
Yii2.0框架模型添加/修改/删除数据操作示例
Jul 18 PHP
php libevent 功能与使用方法详解
Mar 04 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简单封装了一些常用JS操作
2007/02/25 PHP
对于ThinkPHP框架早期版本的一个SQL注入漏洞详细分析
2014/07/04 PHP
Gambit vs ForZe BO3 第三场 2.13
2021/03/10 DOTA
javascript 解决表单仍然提交即使监听处理函数返回false
2010/03/14 Javascript
js新闻滚动 js如何实现新闻滚动效果
2013/01/07 Javascript
asp.net中System.Timers.Timer的使用方法
2013/03/20 Javascript
js实现文字跟随鼠标移动而移动的方法
2015/02/28 Javascript
基于jQuery实现表格内容的筛选功能
2016/08/21 Javascript
Validform表单验证总结篇
2016/10/31 Javascript
JavaScript 中对象的深拷贝
2016/12/04 Javascript
EditPlus 正则表达式 实战(3)
2016/12/15 Javascript
基于vue实现swipe轮播组件实例代码
2017/05/24 Javascript
原生js实现密码输入框值的显示隐藏
2017/07/17 Javascript
用js屏蔽被http劫持的浮动广告实现方法
2017/08/10 Javascript
JS面向对象的程序设计相关知识小结
2018/05/26 Javascript
vueJs实现DOM加载完之后自动下拉到底部的实例代码
2018/08/31 Javascript
Easyui 关闭jquery-easui tab标签页前触发事件的解决方法
2019/04/28 jQuery
Node.js 在本地生成日志文件的方法
2020/02/07 Javascript
[07:52]2014DOTA2 TI逗比武士游V社解说背后的故事
2014/07/10 DOTA
TensorFlow神经网络优化策略学习
2018/03/09 Python
Python3.5 创建文件的简单实例
2018/04/26 Python
Python使用pymongo模块操作MongoDB的方法示例
2018/07/20 Python
树莓派4B+opencv4+python 打开摄像头的实现方法
2019/10/18 Python
在django中自定义字段Field详解
2019/12/03 Python
使用TensorFlow对图像进行随机旋转的实现示例
2020/01/20 Python
OpenCV Python实现拼图小游戏
2020/03/23 Python
python函数map()和partial()的知识点总结
2020/05/26 Python
详解Python设计模式之策略模式
2020/06/15 Python
Python获取指定网段正在使用的IP
2020/12/14 Python
CSS3 Backgrounds属性相关介绍
2011/05/11 HTML / CSS
加拿大最大的五金、家居装修和园艺产品商店:RONA
2017/01/27 全球购物
CHARLES & KEITH台湾官网:新加坡时尚品牌
2019/07/30 全球购物
初中教师业务学习材料
2014/05/12 职场文书
教师党员自我评价2015
2015/03/04 职场文书
清明节随笔
2015/08/15 职场文书
篮球拉拉队口号
2015/12/25 职场文书