PHP自带方法验证邮箱、URL、IP是否合法的函数


Posted in PHP onDecember 08, 2016

以前用PHP验证邮箱、URL、IP是否合法都是通过自己写正则来实现,但是有时候脑子发昏,可能会写出一个不是完全正确的正则,导致验证出错,今天发现原来PHP本身自带了验证邮箱、URL、IP是否合法的函数。

主要使用的是filter_var函数。

语法

filter_var(variable, filter, options)

参数 描述

variable 必需。规定要过滤的变量。

filter 可选。规定要使用的过滤器的 ID。

options 规定包含标志/选项的数组。检查每个过滤器可能的标志和选项。

PHP Filters

ID 名称 描述
FILTER_CALLBACK 调用用户自定义函数来过滤数据。
FILTER_SANITIZE_STRING 去除标签,去除或编码特殊字符。
FILTER_SANITIZE_STRIPPED “string” 过滤器的别名。
FILTER_SANITIZE_ENCODED URL-encode 字符串,去除或编码特殊字符。
FILTER_SANITIZE_SPECIAL_CHARS HTML 转义字符 ‘”& 以及 ASCII 值小于 32 的字符。
FILTER_SANITIZE_EMAIL 删除所有字符,除了字母、数字以及 !#$%&'*+-/=?^_`{|}~@.[]
FILTER_SANITIZE_URL 删除所有字符,除了字母、数字以及 $-_.+!*'(),{}|\\^~[]`#%”;/?:@&=
FILTER_SANITIZE_NUMBER_INT 删除所有字符,除了数字和 +-
FILTER_SANITIZE_NUMBER_FLOAT 删除所有字符,除了数字、+- 以及 .,eE。
FILTER_SANITIZE_MAGIC_QUOTES 应用 addslashes()。
FILTER_UNSAFE_RAW 不进行任何过滤,去除或编码特殊字符。
FILTER_VALIDATE_INT 在指定的范围以整数验证值。
FILTER_VALIDATE_BOOLEAN 如果是 “1″, “true”, “on” 以及 “yes”,则返回 true,如果是 “0″, “false”, “off”, “no” 以及 “”,则返回 false。否则返回 NULL。
FILTER_VALIDATE_FLOAT 以浮点数验证值。
FILTER_VALIDATE_REGEXP 根据 regexp,兼容 Perl 的正则表达式来验证值。
FILTER_VALIDATE_URL 把值作为 URL 来验证。
FILTER_VALIDATE_EMAIL 把值作为 e-mail 来验证。
FILTER_VALIDATE_IP 把值作为 IP 地址来验证。

Example #1 A filter_var() example

<?php
var_dump(filter_var('bob@example.com', FILTER_VALIDATE_EMAIL));
var_dump(filter_var('http://example.com', FILTER_VALIDATE_URL, FILTER_FLAG_PATH_REQUIRED));
?>

以上例程会输出:

string(15) "bob@example.com"
bool(false)

以上所述是小编给大家介绍的PHP自带方法验证邮箱、URL、IP是否合法的函数,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

PHP 相关文章推荐
PHP个人网站架设连环讲(一)
Oct 09 PHP
并发下常见的加锁及锁的PHP具体实现代码
Oct 12 PHP
php 修改、增加xml结点属性的实现代码
Oct 22 PHP
国产PHP开发框架myqee新手快速入门教程
Jul 14 PHP
php实现的太平洋时间和北京时间互转的自定义函数分享
Aug 19 PHP
Yii框架在页面输出执行sql语句以方便调试的实现方法
Dec 24 PHP
php编程每天必学之表单验证
Mar 01 PHP
zen_cart实现支付前生成订单的方法
May 06 PHP
PHP扩展框架之Yaf框架的安装与使用
May 18 PHP
PHP获取指定时间段之间的 年,月,天,时,分,秒
Jun 05 PHP
PHP使用Curl实现模拟登录及抓取数据功能示例
Apr 27 PHP
php的扩展写法总结
May 14 PHP
Zend Framework入门教程之Zend_Session会话操作详解
Dec 08 #PHP
Zend Framework入门教程之Zend_Mail用法示例
Dec 08 #PHP
Zend Framework入门教程之Zend_Db数据库操作详解
Dec 08 #PHP
zend框架实现支持sql server的操作方法
Dec 08 #PHP
ZendFramework框架实现连接两个或多个数据库的方法
Dec 08 #PHP
thinkPHP模板引擎用法示例
Dec 08 #PHP
thinkPHP中session()方法用法详解
Dec 08 #PHP
You might like
服务器变量 $_SERVER 的深入解析
2013/07/02 PHP
PHP代码优化之成员变量获取速度对比
2014/02/28 PHP
php 模拟 asp.net webFrom 按钮提交事件实例
2014/10/13 PHP
PHP后台微信支付和支付宝支付开发
2017/04/28 PHP
php 猴子摘桃的算法
2017/06/20 PHP
javaScript parseInt字符转化为数字函数使用小结
2009/11/05 Javascript
jQuery.query.js 取参数的两点问题分析
2012/08/06 Javascript
JS随即打乱数组实现代码
2012/12/03 Javascript
用js代码改变单选框选中状态的简单实例
2013/12/18 Javascript
JS实现文件动态顺序载入的方法
2015/03/07 Javascript
JavaScript运动减速效果实例分析
2015/08/04 Javascript
jQuery fancybox在ie浏览器下无法显示关闭按钮的解决办法
2016/02/19 Javascript
快速掌握Node.js之Window下配置NodeJs环境
2016/03/21 NodeJs
EasyUI Datebox 日期验证之开始日期小于结束时间
2017/05/19 Javascript
vue.js组件之间传递数据的方法
2017/07/10 Javascript
Angular 4根据组件名称动态创建出组件的方法教程
2017/11/01 Javascript
原生js实现form表单序列化的方法
2018/08/02 Javascript
详解react阻止无效重渲染的多种方式
2018/12/11 Javascript
Vue中的情侣属性$dispatch和$broadcast详解
2019/03/07 Javascript
解决Angularjs异步操作后台请求用$q.all排列先后顺序问题
2019/11/29 Javascript
vue开发移动端底部导航条功能
2020/04/08 Javascript
OpenLayers3加载常用控件使用方法详解
2020/09/25 Javascript
[05:37]DOTA2-DPC中国联赛 正赛 Elephant vs iG 选手采访
2021/03/11 DOTA
一篇文章入门Python生态系统(Python新手入门指导)
2015/12/11 Python
python定时利用QQ邮件发送天气预报的实例
2017/11/17 Python
pygame游戏之旅 添加游戏界面按键图形
2018/11/20 Python
python实现公司年会抽奖程序
2019/01/22 Python
如何基于python生成list的所有的子集
2019/11/11 Python
运动服饰每月订阅盒:Ellie
2018/04/29 全球购物
理肤泉加拿大官网:La Roche-Posay加拿大
2018/07/06 全球购物
财务会计应届生求职信
2013/11/24 职场文书
高中班主任评语大全
2014/04/25 职场文书
服装设计专业自荐信
2014/06/17 职场文书
2015年元旦促销方案书
2014/12/09 职场文书
《成长的天空》读后感3篇
2019/12/06 职场文书
SQL优化老出错,那是你没弄明白MySQL解释计划用法
2021/11/27 MySQL