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编程效率 引入缓存机制提升性能
Feb 15 PHP
php 对输入信息的进行安全过滤的函数代码
Jun 29 PHP
用Php编写注册后Email激活验证的实例代码
Mar 11 PHP
ThinkPHP基本的增删查改操作实例教程
Aug 22 PHP
php进行支付宝开发中return_url和notify_url的区别分析
Dec 22 PHP
PHP开发注意事项总结
Feb 04 PHP
php使用指定编码导出mysql数据到csv文件的方法
Mar 31 PHP
图文介绍PHP添加Redis模块及连接
Jul 28 PHP
简单实现php上传文件功能
Sep 21 PHP
2017年最好用的9个php开发工具推荐(超好用)
Oct 23 PHP
Laravel如何使用Redis共享Session
Feb 23 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
php报表之jpgraph柱状图实例代码
2011/08/22 PHP
百度工程师讲PHP函数的实现原理及性能分析(二)
2015/05/13 PHP
PHP实现的自定义图像居中裁剪函数示例【测试可用】
2017/08/11 PHP
Laravel 5.5 异常处理 &amp; 错误日志的解决
2019/10/17 PHP
JavaScript的9个陷阱及评点分析
2008/05/16 Javascript
基于JQuery的抓取博客园首页RSS的代码
2011/12/01 Javascript
Javascript变量作用域详解
2013/12/06 Javascript
javascript常用正则表达式汇总
2015/07/31 Javascript
Easyui Treegrid改变默认图标的方法
2016/04/29 Javascript
微信小程序 教程之条件渲染
2016/10/18 Javascript
AngularJS页面传参的5种方式
2017/04/01 Javascript
JavaScript实现前端实时搜索功能
2020/03/26 Javascript
本地存储localStorage用法详解
2017/07/31 Javascript
基于ionic实现下拉刷新功能
2018/05/10 Javascript
分享5个好用的javascript文件上传插件
2018/09/16 Javascript
详解三种方式解决vue中v-html元素中标签样式
2018/11/22 Javascript
详解基于React.js和Node.js的SSR实现方案
2019/03/21 Javascript
express框架下使用session的方法
2019/07/31 Javascript
使用Python的Flask框架实现视频的流媒体传输
2015/03/31 Python
Python中的面向对象编程详解(下)
2015/04/13 Python
python嵌套字典比较值与取值的实现示例
2017/11/03 Python
使用memory_profiler监测python代码运行时内存消耗方法
2018/12/03 Python
详解Python3序列赋值、序列解包
2019/05/14 Python
Python 中的 global 标识对变量作用域的影响
2019/08/12 Python
简单了解Python3 bytes和str类型的区别和联系
2019/12/19 Python
Django Admin后台添加数据库视图过程解析
2020/04/01 Python
Python fileinput模块如何逐行读取多个文件
2020/10/05 Python
国际知名设计师时装商店:Coggles
2016/09/05 全球购物
护理学毕业生求职信
2013/11/14 职场文书
文艺演出策划方案
2014/06/07 职场文书
2015年公民道德宣传日活动总结
2015/03/23 职场文书
活着观后感
2015/06/03 职场文书
酒桌上的祝酒词
2015/08/12 职场文书
学校体育节班级口号
2015/12/25 职场文书
TV动画《神废柴☆偶像》公布先导PV
2022/03/20 日漫
Navicat Premium自定义 sql 标签的创建方式
2022/09/23 数据库