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+mysql扎实个人基本功
Mar 27 PHP
php XPath对XML文件查找及修改实现代码
Jul 27 PHP
php设计模式之单例、多例设计模式的应用分析
Jun 30 PHP
php快递单号查询接口使用示例
May 05 PHP
PHP中几个可以提高运行效率的代码写法、技巧分享
Aug 21 PHP
PHP抽奖算法程序代码分享
Oct 08 PHP
PHP+sqlite数据库操作示例(创建/打开/插入/检索)
May 26 PHP
PHP记录和读取JSON格式日志文件
Jul 07 PHP
Yii安装与使用Excel扩展的方法
Jul 13 PHP
详解PHP实现定时任务的五种方法
Jul 25 PHP
ThinkPHP 3.2.3实现页面静态化功能的方法详解
Aug 03 PHP
如何修改Laravel中url()函数生成URL的根地址
Aug 11 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
PHP3 safe_mode 失效漏洞
2006/10/09 PHP
使用array_map简单搞定PHP删除文件、删除目录
2014/10/29 PHP
PHP中大于2038年时间戳的问题处理方案
2015/03/03 PHP
thinkphp autoload 命名空间自定义 namespace
2015/07/17 PHP
硬盘浏览程序,保存成网页格式便可使用
2006/12/03 Javascript
用roll.js实现的图片自动滚动+鼠标触动的特效
2007/03/18 Javascript
JavaScript 异步调用框架 (Part 4 - 链式调用)
2009/08/04 Javascript
iframe 父窗口和子窗口相互的调用方法集锦
2010/12/15 Javascript
jqGrid jQuery 表格插件测试代码
2011/08/23 Javascript
关于Jquery操作Cookie取值错误的解决方法
2013/08/26 Javascript
JavaScript将字符串转换为整数的方法
2015/04/14 Javascript
JS中字符串trim()使用示例
2015/05/26 Javascript
javascript中 try catch用法
2015/08/16 Javascript
JS动态改变浏览器标题的方法
2016/04/06 Javascript
JS+Canvas绘制时钟效果
2020/08/20 Javascript
jQuery soColorPacker 网页拾色器
2016/06/22 Javascript
小程序自定义组件实现城市选择功能
2018/07/18 Javascript
fetch 如何实现请求数据
2018/12/20 Javascript
微信小程序全局变量功能与用法详解
2019/01/22 Javascript
vue如何在项目中调用腾讯云的滑动验证码
2020/07/15 Javascript
python实现简单ftp客户端的方法
2015/06/28 Python
Python中基本的日期时间处理的学习教程
2015/10/16 Python
Python爬虫学习之翻译小程序
2019/07/30 Python
基于Python爬取51cto博客页面信息过程解析
2020/08/25 Python
详解CSS 3 中的 calc() 方法
2018/01/12 HTML / CSS
美国花园雕像和家居装饰网上商店:Design Toscano
2019/03/09 全球购物
在对linux系统分区进行格式化时需要对磁盘簇(或i节点密度)的大小进行选择,请说明选择的原则
2012/01/13 面试题
会计出纳员的自我评价
2014/01/15 职场文书
九年级历史教学反思
2014/01/27 职场文书
大学生职业生涯规划大赛作品(精品)
2014/09/17 职场文书
起诉状范本
2015/05/20 职场文书
SpringBoot集成Redis,并自定义对象序列化操作
2021/06/22 Java/Android
Python内置数据类型中的集合详解
2022/03/18 Python
《地。-关于地球的运动-》单行本第七集上市,小说家朝井辽献上期待又害怕的推荐文
2022/03/31 日漫
Java 垃圾回收超详细讲解记忆集和卡表
2022/04/08 Java/Android
mysql拆分字符串作为查询条件的示例代码
2022/07/07 MySQL