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下通过exec获得计算机的唯一标识[CPU,网卡 MAC地址]
Jun 09 PHP
用Json实现PHP与JavaScript间数据交换的方法详解
Jun 20 PHP
PHP随机字符串生成代码(包括大小写字母)
Jun 24 PHP
请离开include_once和require_once
Jul 18 PHP
php读取flash文件高宽帧数背景颜色的方法
Jan 06 PHP
PHP实现动态web服务器方法
Jul 29 PHP
WordPress中限制非管理员用户在文章后只能评论一次
Dec 31 PHP
PHP获取网站中各文章的第一张图片的代码示例
May 20 PHP
将PHP的session数据存储到数据库中的代码实例
Jun 24 PHP
PHP将整数数字转换为罗马数字实例分享
Mar 17 PHP
Laravel Validator自定义错误返回提示消息并在前端展示
May 09 PHP
PHP FileSystem 文件系统常用api整理总结
Jul 12 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生成带有雪花背景的验证码
2006/10/09 PHP
php zend解密软件绿色版测试可用
2008/04/14 PHP
PHP常用的文件操作函数经典收藏
2013/04/02 PHP
PHP使用缓存即时输出内容(output buffering)的方法
2015/08/03 PHP
ThinkPHP打水印及设置水印位置的方法
2016/10/14 PHP
关于laravel 日志写入失败问题汇总
2019/10/17 PHP
laravel框架之数据库查出来的对象实现转化为数组
2019/10/23 PHP
JavaScript DOM学习第八章 表单错误提示
2010/02/19 Javascript
通过继承IHttpHandle实现JS插件的组织与管理
2010/07/13 Javascript
js实现鼠标拖动图片并兼容IE/FF火狐/谷歌等主流浏览器
2013/06/06 Javascript
jQuery使用load()方法载入另外一个网页文件内的指定标签内容到div标签的方法
2015/03/25 Javascript
javascript比较两个日期相差天数的方法
2015/07/24 Javascript
win7下安装配置node.js+express开发环境
2015/12/06 Javascript
javascript用正则表达式过滤空格的实现代码
2016/06/14 Javascript
Ionic默认的Tabs模板使用实例
2016/08/29 Javascript
jQuery实现导航栏头部菜单项点击后变换颜色的方法
2017/07/19 jQuery
微信小程序实现的自定义分享功能示例
2019/02/12 Javascript
Vue注册组件命名时不能用大写的原因浅析
2019/04/25 Javascript
vue项目中将element-ui table表格写成组件的实现代码
2019/06/12 Javascript
p5.js临摹动态图形实现方法详解
2019/10/23 Javascript
vue引用外部JS的两种种方法
2020/01/28 Javascript
vant中的toast轻提示实现代码
2020/11/04 Javascript
[52:10]LGD vs Optic Supermajor小组赛D组胜者组决赛 BO3 第二场 6.3
2018/06/04 DOTA
教大家玩转Python字符串处理的七种技巧
2017/03/31 Python
Pandas删除数据的几种情况(小结)
2019/06/21 Python
python and or用法详解
2019/06/26 Python
基于python爬取有道翻译过程图解
2020/03/31 Python
numpy实现RNN原理实现
2021/03/02 Python
html5+css3之制作header实例与更新
2020/12/21 HTML / CSS
HTML5 视频播放(video),JavaScript控制视频的实例代码
2018/10/08 HTML / CSS
总经理职责
2013/12/22 职场文书
社会保险接收函
2014/01/12 职场文书
秋天的雨教学反思
2014/04/27 职场文书
投标邀请书范本
2015/02/02 职场文书
卫生保健工作总结2015
2015/05/18 职场文书
2016年暑期见闻作文
2015/11/25 职场文书