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 项目的方法
Jan 02 PHP
php 多线程上下文中安全写文件实现代码
Dec 28 PHP
php打造属于自己的MVC框架
Mar 07 PHP
typecho插件编写教程(一):Hello World
May 28 PHP
一张表搞清楚php is_null、empty、isset的区别
Jul 07 PHP
php打乱数组二维数组多维数组的简单实例
Jun 17 PHP
php进行ip地址掩码运算处理的方法
Jul 11 PHP
php微信公众号js-sdk开发应用
Nov 28 PHP
php实现文件上传及头像预览功能
Jan 15 PHP
php检测mysql表是否存在的方法小结
Jul 20 PHP
Laravel5.7 数据库操作迁移的实现方法
Apr 12 PHP
Yii框架学习笔记之session与cookie简单操作示例
Apr 30 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中trim()函数简单使用指南
2015/04/16 PHP
什么是PEAR?什么是PECL?PHP中两个容易混淆的概念解释
2015/07/01 PHP
PHP小白必须要知道的php基础知识(超实用)
2017/10/10 PHP
Prototype 学习 工具函数学习($方法)
2009/07/12 Javascript
基于PHP+Jquery制作的可编辑的表格的代码
2011/04/10 Javascript
javascript日期对象格式化为字符串的实现方法
2014/01/14 Javascript
在javascript中如何得到中英文混合字符串的长度
2014/01/17 Javascript
一个字符串反转函数可实现字符串倒序
2014/09/15 Javascript
jQuery中:not选择器用法实例
2014/12/30 Javascript
javascript实现简单的鼠标拖动效果实例
2015/04/10 Javascript
jquery实现的仿天猫侧导航tab切换效果
2015/08/24 Javascript
javascript实现数组去重的多种方法
2016/03/14 Javascript
微信小程序 两种为对象属性赋值的方式详解
2017/02/23 Javascript
深入浅析AngularJs模版与v-bind
2018/07/06 Javascript
Vue2.0学习系列之项目上线的方法步骤(图文)
2018/09/25 Javascript
微信小程序 wx:for 与 wx:for-items 与 wx:key的正确用法
2020/05/19 Javascript
vue3使用vue-count-to组件的实现
2020/12/25 Vue.js
Python学习笔记(一)(基础入门之环境搭建)
2014/06/05 Python
Python类的专用方法实例分析
2015/01/09 Python
python实现简单socket程序在两台电脑之间传输消息的方法
2015/03/13 Python
一个基于flask的web应用诞生 flask和mysql相连(4)
2017/04/11 Python
Python3网络爬虫开发实战之极验滑动验证码的识别
2019/08/02 Python
Python3.7+tkinter实现查询界面功能
2019/12/24 Python
Python json转字典字符方法实例解析
2020/04/13 Python
elf彩妆英国官网:e.l.f. Cosmetics英国(美国平价彩妆品牌)
2017/11/02 全球购物
NBA欧洲商店(英国):NBA Europe Store UK
2018/07/27 全球购物
Myprotein台湾官方网站:全球领先的运动营养品牌
2018/12/10 全球购物
Notino芬兰:购买香水和化妆品
2019/04/15 全球购物
MyBag中文网:英国著名的时尚包袋电商零售网站
2020/07/31 全球购物
mysql有关权限的表都有哪几个
2015/04/22 面试题
英语道歉信范文
2014/01/09 职场文书
挂牌仪式主持词
2014/03/20 职场文书
电教室标语
2014/06/20 职场文书
2014年设计师工作总结
2014/11/25 职场文书
干部培训简讯
2015/07/20 职场文书
前端实现滑动按钮AJAX与后端交互的示例代码
2022/02/24 Javascript