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实现的功能是显示8条基色色带
Oct 09 PHP
PHP.ini中配置屏蔽错误信息显示和保存错误日志的例子
May 12 PHP
采用memcache在web集群中实现session的同步会话
Jul 05 PHP
php过滤表单提交的html等危险代码
Nov 03 PHP
ThinkPHP提示错误Fatal error: Allowed memory size的解决方法
Feb 12 PHP
PHP学习笔记(二):变量详解
Apr 17 PHP
php简单计算页面加载时间的方法
Jun 19 PHP
非常有用的9个PHP代码片段
Apr 06 PHP
ECSHOP完美解决Deprecated: preg_replace()报错的问题
May 17 PHP
Laravel Memcached缓存驱动的配置与应用方法分析
Oct 08 PHP
Laravel5中防止XSS跨站攻击的方法
Oct 10 PHP
php登录超时检测功能实例详解
Mar 21 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+mysql写的留言本
2006/10/09 PHP
php中的Base62类(适用于数值转字符串)
2013/08/12 PHP
php匹配字符中链接地址的方法
2014/12/22 PHP
Yii实现多数据库主从读写分离的方法
2014/12/29 PHP
php常用正则函数实例小结
2016/12/29 PHP
js GridView 实现自动计算操作代码
2009/03/25 Javascript
Javascript根据指定下标或对象删除数组元素
2012/12/21 Javascript
详解JavaScript的while循环的使用
2015/06/03 Javascript
浅析Javascript中bind()方法的使用与实现
2016/04/29 Javascript
AngularJS使用ng-repeat指令实现下拉框
2016/08/23 Javascript
self.attachevent is not a function的解决方法
2017/04/04 Javascript
js实现扫雷小程序的示例代码
2017/09/27 Javascript
微信小程序录音与播放录音功能
2017/12/25 Javascript
jQuery实现获取form表单内容及绑定数据到form表单操作分析
2018/07/03 jQuery
微信运维交互机器人的示例代码
2018/11/12 Javascript
Vue render函数实战之实现tabs选项卡组件
2019/04/22 Javascript
仿iPhone通讯录制作小程序自定义选择组件的实现
2019/05/23 Javascript
javascript实现自由编辑图片代码详解
2019/06/21 Javascript
在antd Form表单中select设置初始值操作
2020/11/02 Javascript
[01:05:52]DOTA2-DPC中国联赛 正赛 Ehome vs Aster BO3 第一场 2月2日
2021/03/11 DOTA
python 七种邮件内容发送方法实例
2014/04/22 Python
Windows平台Python连接sqlite3数据库的方法分析
2017/07/12 Python
tensorflow学习笔记之mnist的卷积神经网络实例
2018/04/15 Python
Python基于win32ui模块创建弹出式菜单示例
2018/05/09 Python
python中的字符串内部换行方法
2018/07/19 Python
Django中使用Whoosh进行全文检索的方法
2019/03/31 Python
Djang的model创建的字段和参数详解
2019/07/27 Python
python 实现线程之间的通信示例
2020/02/14 Python
解决Python logging模块无法正常输出日志的问题
2020/02/21 Python
PyCharm上安装Package的实现(以pandas为例)
2020/09/18 Python
Django haystack实现全文搜索代码示例
2020/11/28 Python
Spongelle官网:美国的创意护肤洗护品牌
2019/05/15 全球购物
英国领先的互联网葡萄酒礼品商:Vintage Wine & Port
2019/05/24 全球购物
辩论赛主持词
2014/03/18 职场文书
中学教师读书笔记
2015/07/01 职场文书
保护环境建议书作文500字
2015/09/14 职场文书