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实现用户认证及管理完全源码
Mar 11 PHP
PHP防注入安全代码
Apr 09 PHP
PHP里的中文变量说明
Jul 23 PHP
PHP闭包(Closure)使用详解
May 02 PHP
PHP CLI模式下的多进程应用分析
Jun 03 PHP
浅谈PHP正则表达式中修饰符/i, /is, /s, /isU
Oct 21 PHP
PHP文件读写操作相关函数总结
Nov 18 PHP
php实现数组按指定KEY排序的方法
Mar 30 PHP
如何使用php实现评委评分器
Jul 31 PHP
PHP实现简单计算器小程序
Aug 28 PHP
phpStorm+XDebug+chrome 配置详解
Apr 01 PHP
PHP数组访问常用方法解析
Sep 05 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
php强制下载文件函数
2016/08/24 PHP
php 调用ffmpeg获取视频信息的简单实现
2017/04/03 PHP
laravel实现分页样式替换示例代码(增加首、尾页)
2017/09/22 PHP
基于php解决json_encode中文UNICODE转码问题
2020/11/10 PHP
Jquery下判断Id是否存在的代码
2011/01/06 Javascript
js多级树形弹出一个小窗口层(非常好用)实例代码
2013/03/19 Javascript
Jquery validation remote 验证的缓存问题解决方法
2014/03/25 Javascript
zeroclipboard 单个复制按钮和多个复制按钮的实现方法
2014/06/14 Javascript
对jQuary选择器的全面总结
2016/06/20 Javascript
微信js-sdk上传与下载图片接口用法示例
2016/10/12 Javascript
JS Select下拉框(支持输入模糊查询)
2017/02/04 Javascript
JS实现的四级密码强度检测功能示例
2017/05/11 Javascript
Bootstrap一款超好用的前端框架
2017/09/25 Javascript
基于JS开发微信网页录音功能的实例代码
2019/04/30 Javascript
Python中return语句用法实例分析
2015/08/04 Python
python魔法方法-自定义序列详解
2016/07/21 Python
Tensorflow加载预训练模型和保存模型的实例
2018/07/27 Python
python模拟登陆,用session维持回话的实例
2018/12/27 Python
使用python opencv对目录下图片进行去重的方法
2019/01/12 Python
django之自定义软删除Model的方法
2019/08/14 Python
详解python路径拼接os.path.join()函数的用法
2019/10/09 Python
在Python中使用turtle绘制多个同心圆示例
2019/11/23 Python
Pytorch 实现focal_loss 多类别和二分类示例
2020/01/14 Python
python selenium 获取接口数据的实现
2020/12/07 Python
Python获取指定网段正在使用的IP
2020/12/14 Python
蛋白质世界:Protein World
2017/11/23 全球购物
澳大利亚最大的在线美发和美容零售商之一:My Hair Care & Beauty
2019/08/24 全球购物
全球才华横溢工匠的家居装饰、珠宝和礼物:NOVICA
2021/01/22 全球购物
介绍一下代理模式(Proxy)
2014/10/17 面试题
2013年大学生的自我鉴定
2013/10/24 职场文书
幼儿园实习生辞职信
2014/01/20 职场文书
趣味体育活动方案
2014/02/08 职场文书
开业庆典活动策划方案
2014/09/21 职场文书
2014年师德师风工作总结
2014/11/25 职场文书
自主招生自荐信范文
2015/03/04 职场文书
《我是什么》教学反思
2016/02/16 职场文书