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中判断一个请求是ajax请求还是普通请求的方法
Jun 28 PHP
PHPMailer使用教程(PHPMailer发送邮件实例分析)
Dec 06 PHP
Youku 视频绝对地址获取的方法详解
Jun 26 PHP
使用php验证复选框有效性的示例
Nov 13 PHP
PHP遍历并打印指定目录下所有文件实例
Feb 10 PHP
php利用curl抓取新浪微博内容示例
Apr 27 PHP
Linux下PHP安装mcrypt扩展模块笔记
Sep 10 PHP
thinkphp连贯操作实例分析
Nov 22 PHP
分享PHP源码批量抓取远程网页图片并保存到本地的实现方法
Dec 01 PHP
PHP静态成员变量和非静态成员变量详解
Feb 14 PHP
Yii2框架自定义验证规则操作示例
Feb 08 PHP
Laravel 框架返回状态拦截代码
Oct 18 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
关于Yii2框架跑脚本时内存泄漏问题的分析与解决
2019/12/01 PHP
测试你的JS的掌握程度的代码
2009/12/09 Javascript
新浪微博字数统计 textarea字数统计实现代码
2011/08/28 Javascript
javascript中IE浏览器不支持NEW DATE()带参数的解决方法
2012/03/01 Javascript
没有document.getElementByName方法
2013/08/19 Javascript
JavaScript中常见获取元素的方法汇总
2015/03/04 Javascript
Javascript设计模式理论与编程实战之简单工厂模式
2015/11/03 Javascript
再次谈论Javascript中的this
2016/06/23 Javascript
解决node.js安装包失败的几种方法
2016/09/02 Javascript
ES6新特性之字符串的扩展实例分析
2017/04/01 Javascript
NodeJS、NPM安装配置步骤(windows版本) 以及环境变量详解
2017/05/13 NodeJs
利用vue开发一个所谓的数独方法实例
2017/12/21 Javascript
react 中父组件与子组件双向绑定问题
2019/05/20 Javascript
前端路由&webpack基础配置详解
2019/06/10 Javascript
Vue.use()在new Vue() 之前使用的原因浅析
2019/08/26 Javascript
javascript+css实现进度条效果
2020/03/25 Javascript
获取Django项目的全部url方法详解
2017/10/26 Python
python读取TXT每行,并存到LIST中的方法
2018/10/26 Python
解决pyinstaller打包pyqt5的问题
2019/01/08 Python
用Python配平化学方程式的方法
2019/07/20 Python
PyQT5 emit 和 connect的用法详解
2019/12/13 Python
Tensorflow训练MNIST手写数字识别模型
2020/02/13 Python
django-利用session机制实现唯一登录的例子
2020/03/16 Python
将SVG图引入到HTML页面的实现
2019/09/20 HTML / CSS
Guess美国官网:美国知名服装品牌
2019/04/08 全球购物
戴森西班牙官网:Dyson西班牙
2020/02/04 全球购物
标记环网Toke Ring IEEE802.5
2014/05/26 面试题
小学生新学期寄语
2014/01/19 职场文书
个人求职信范文分享
2014/01/31 职场文书
自荐信的格式
2014/03/10 职场文书
常务副总经理任命书
2014/06/05 职场文书
优秀团员自我评价
2015/03/10 职场文书
入党积极分子群众意见
2015/06/01 职场文书
幼儿园教师辞职信
2019/06/21 职场文书
使用goaccess分析nginx日志的详细方法
2021/07/09 Servers
Python四款GUI图形界面库介绍
2022/06/05 Python