php 判断IP为有效IP地址的方法


Posted in PHP onJanuary 28, 2018

多数人看到这篇日志,第一印象肯定是以为是要讲如何通过正则表达式来判断。

非也,在php5.2.0之后,有专门的函数来做这个判断了。

判断是否是合法IP

if(filter_var($ip, FILTER_VALIDATE_IP)) {
// it's valid
}
else {
// it's not valid
}

判断是否是合法的IPv4 IP地址

if(filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4)) {
// it's valid
}
else {
// it's not valid
}

判断是否是合法的公共IPv4地址,192.168.1.1这类的私有IP地址将会排除在外

if(filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4 | FILTER_FLAG_NO_PRIV_RANGE)) {
// it's valid
}
else {
// it's not valid
}

判断是否是合法的IPv6地址

if(filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_NO_RES_RANGE)) {
// it's valid
}
else {
// it's not valid
}

判断是否是public IPv4 IP或者是合法的Public IPv6 IP地址

if(filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE)) {
// it's valid
}
else {
// it's not valid
}

本文来源:http://www.electrictoolbox.com/php-validate-ip-address-filter-var/

通常情况下,我们可以选择使用正则表达式实现,具体的可以参考这篇文章。

PHP 相关文章推荐
php上传文件的增强函数
Jul 21 PHP
PHP删除HTMl标签的三种解决方法
Jun 30 PHP
mcrypt启用 加密以及解密过程详细解析
Aug 07 PHP
Smarty模板学习笔记之Smarty简介
May 20 PHP
CodeIgniter启用缓存和清除缓存的方法
Jun 12 PHP
php中in_array函数用法探究
Nov 25 PHP
php实现用于验证所有类型的信用卡类
Mar 24 PHP
php获取本周星期一具体日期的方法
Apr 20 PHP
PHP基于MySQL数据库实现对象持久层的方法
Jun 17 PHP
PHP响应post请求上传文件的方法
Dec 17 PHP
WordPres对前端页面调试时的两个PHP函数使用小技巧
Dec 22 PHP
php实现简单四则运算器
Nov 29 PHP
Laravel中unique和exists验证规则的优化详解
Jan 28 #PHP
win10 apache配置虚拟主机后localhost无法使用的解决方法
Jan 27 #PHP
PHP设计模式之注册树模式分析
Jan 26 #PHP
PHP微信开发之微信录音临时转永久存储
Jan 26 #PHP
PHP CURL与java http使用方法详解
Jan 26 #PHP
php实现mysql连接池效果实现代码
Jan 25 #PHP
php使用imagecopymerge()函数创建半透明水印
Jan 25 #PHP
You might like
Wordpress php 分页代码
2009/10/21 PHP
php标签云的实现代码
2012/10/10 PHP
php多维数组去掉重复值示例分享
2014/03/02 PHP
Yii框架中memcache用法实例
2014/12/03 PHP
PHP使用反射机制实现查找类和方法的所在位置
2016/04/22 PHP
PHP实现上传多图即时显示与即时删除的方法
2017/05/09 PHP
在线编辑器的实现原理(兼容IE和FireFox)
2007/03/09 Javascript
javascript addBookmark 加入收藏 多浏览器兼容
2009/08/15 Javascript
tangram框架响应式加载图片方法
2013/11/21 Javascript
jquery点击缩略图切换视频播放特效代码分享
2015/09/15 Javascript
BootStrap下拉框在firefox浏览器界面不友好的解决方案
2016/08/18 Javascript
任意Json转成无序列表的方法示例
2016/12/09 Javascript
详解基于 axios 的 Vue 项目 http 请求优化
2017/09/04 Javascript
基于iScroll实现内容滚动效果
2018/03/21 Javascript
使用react context 实现vue插槽slot功能
2019/07/18 Javascript
JavaScript实现网页tab栏效果制作
2020/11/20 Javascript
vue使用transition组件动画效果的实例代码
2021/01/28 Vue.js
[00:09]DOTA2新版本PA至宝特效动作展示
2014/11/19 DOTA
Python算法之栈(stack)的实现
2014/08/18 Python
查找python项目依赖并生成requirements.txt的方法
2018/07/10 Python
用Python爬取QQ音乐评论并制成词云图的实例
2019/08/24 Python
Python基础之字典常见操作经典实例详解
2020/02/26 Python
基于python实现查询ip地址来源
2020/06/02 Python
英国领先的在线鱼贩:The Fish Society
2020/08/12 全球购物
办公室文员工作职责
2014/01/31 职场文书
协议书格式
2014/04/23 职场文书
《永远的白衣战士》教学反思
2014/04/25 职场文书
读书月活动方案
2014/05/22 职场文书
基层党员公开承诺书
2014/05/29 职场文书
个人四风对照检查材料
2014/09/26 职场文书
2014年政风行风评议工作总结
2014/10/21 职场文书
乡镇防汛工作汇报
2014/10/28 职场文书
现实表现证明材料
2015/06/19 职场文书
《花钟》教学反思
2016/02/17 职场文书
python实现A*寻路算法
2021/06/13 Python
MySQL 字符集 character
2022/05/04 MySQL