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的5个入手程序
Nov 23 PHP
php开发工具之vs2005图解
Jan 12 PHP
PHP的范围解析操作符(::)的含义分析说明
Jul 03 PHP
PHP图片处理类 phpThumb参数用法介绍
Mar 11 PHP
PHP图片上传代码
Nov 04 PHP
PHP 读取大文件并显示的简单实例(推荐)
Aug 12 PHP
支持汉转拼和拼音分词的PHP中文工具类ChineseUtil
Feb 23 PHP
Laravel框架执行原生SQL语句及使用paginate分页的方法
Aug 17 PHP
asp.net和php的区别点总结
Oct 10 PHP
使用laravel指定日志文件记录任意日志
Oct 17 PHP
laravel 解决路由除了根目录其他都404的问题
Oct 18 PHP
PHP实现文件上传后台处理脚本
Mar 04 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学习之php4与php5之间会穿梭一点点感悟
2007/05/03 PHP
ucenter中词语过滤原理分析
2016/07/13 PHP
javascript Split方法,indexOf方法、lastIndexOf 方法和substring 方法
2009/03/21 Javascript
js函数调用常用方法详解
2012/12/03 Javascript
js固定DIV高度,超出部分自动添加滚动条的简单方法
2013/07/10 Javascript
jQuery设置和获取HTML、文本和值示例
2014/07/08 Javascript
PHP结合jQuery实现的评论顶、踩功能
2015/07/22 Javascript
SVG描边动画
2017/02/23 Javascript
vue-router单页面路由
2017/06/17 Javascript
Vue三层嵌套路由的示例代码
2018/05/05 Javascript
jQuery实现获取选中复选框的值实例详解
2018/06/28 jQuery
vue-quill-editor 自定义工具栏和自定义图片上传路径操作
2020/08/03 Javascript
[26:50]2018完美盛典DOTA2表演赛
2018/12/17 DOTA
[02:46]完美世界DOTA2联赛PWL DAY4集锦
2020/11/03 DOTA
[43:26]完美世界DOTA2联赛PWL S2 Forest vs Rebirth 第二场 11.20
2020/11/23 DOTA
python网络编程学习笔记(五):socket的一些补充
2014/06/09 Python
解决pyqt中ui编译成窗体.py中文乱码的问题
2016/12/23 Python
Python读写及备份oracle数据库操作示例
2018/05/17 Python
Python实现查找最小的k个数示例【两种解法】
2019/01/08 Python
python实现移位加密和解密
2019/03/22 Python
python+pygame实现坦克大战
2019/09/10 Python
centos+nginx+uwsgi+Django实现IP+port访问服务器
2019/11/15 Python
tensorflow2.0保存和恢复模型3种方法
2020/02/03 Python
PyCharm MySQL可视化Database配置过程图解
2020/06/09 Python
用ldap作为django后端用户登录验证的实现
2020/12/07 Python
CSS3教程:边框属性border的极致应用
2009/04/02 HTML / CSS
HTML5 Canvas绘制圆点虚线实例
2015/01/01 HTML / CSS
什么是Connection-oriented Protocol/Connectionless Protocol面向连接的协议/无连接协议
2012/09/06 面试题
高职教师岗位职责
2013/12/24 职场文书
护理专业毕业生自荐信范文
2014/01/05 职场文书
求职毕业生自荐书
2014/02/08 职场文书
2014年开学第一课活动方案
2014/03/06 职场文书
传承焦裕禄精神思想汇报2014
2014/09/10 职场文书
民事诉讼代理授权委托书
2014/10/11 职场文书
2015公司年度工作总结
2015/05/14 职场文书
新郎父母婚礼答谢词
2015/09/29 职场文书