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编程语言开发动态WAP页面
Oct 09 PHP
ob_start(),ob_start('ob_gzhandler')使用
Dec 25 PHP
什么是MVC,好东西啊
May 03 PHP
PHP 日期加减的类,很不错
Oct 10 PHP
解析PHP汉字转换拼音的类
Jun 18 PHP
php使用curl发送json格式数据实例
Dec 17 PHP
PHP把网页保存为word文件的三种方法
Apr 01 PHP
destoon调用discuz论坛中带图片帖子的实现方法
Aug 21 PHP
php函数连续调用实例分析
Jul 30 PHP
在Laravel框架里实现发送邮件实例(邮箱验证)
May 20 PHP
浅谈PHPANALYSIS提取关键字
Mar 08 PHP
php反序列化长度变化尾部字符串逃逸(0CTF-2016-piapiapia)
Feb 15 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
CodeIgniter框架数据库事务处理的设计缺陷和解决方案
2014/07/25 PHP
配置php.ini实现PHP文件上传功能
2014/11/27 PHP
PHP编程基本语法快速入门手册
2016/01/07 PHP
PHP 实现页面静态化的几种方法
2017/07/23 PHP
jQuery html()等方法介绍
2009/11/18 Javascript
JQuery Dialog的内存泄露问题解决方法
2010/06/18 Javascript
初窥JQuery-Jquery简介 入门了解篇
2010/11/25 Javascript
JS字符串函数扩展代码
2011/09/13 Javascript
JavaScript基础知识之数据类型
2012/08/06 Javascript
手写的一个兼容各种浏览器的javascript getStyle函数(获取元素的样式)
2014/06/06 Javascript
jQuery不兼容input的change事件问题解决过程
2014/12/05 Javascript
关于JS中setTimeout()无法调用带参函数问题的解决方法
2016/06/21 Javascript
简单封装js的dom查询实例代码
2016/07/08 Javascript
原生ajax处理json格式数据的实例代码
2016/12/25 Javascript
解决vue中使用swiper插件问题及swiper在vue中的用法
2018/04/04 Javascript
vue router+vuex实现首页登录验证判断逻辑
2018/05/17 Javascript
jQuery发请求传输中文参数乱码问题的解决方案
2018/05/22 jQuery
JavaScript面向对象继承原理与实现方法分析
2018/08/09 Javascript
bootstrap下拉框动态赋值方法
2018/08/10 Javascript
vue主动刷新页面及列表数据删除后的刷新实例
2018/09/16 Javascript
vue实现多个元素或多个组件之间动画效果
2018/09/25 Javascript
vue鼠标悬停事件实例详解
2019/04/01 Javascript
JavaScript Date对象功能与用法学习记录
2020/04/28 Javascript
Javascript实现秒表计时游戏
2020/05/27 Javascript
python实现Flappy Bird源码
2018/12/24 Python
pytorch ImageFolder的覆写实例
2020/02/20 Python
详解Selenium-webdriver绕开反爬虫机制的4种方法
2020/10/28 Python
机电一体化专业应届生求职信
2013/11/27 职场文书
声乐专业大学生职业生涯规划书:理想的未来需要自己去打造
2014/09/20 职场文书
教师党员批评与自我批评
2014/10/15 职场文书
2015年会计个人工作总结
2015/04/02 职场文书
优秀团员主要事迹材料
2015/11/05 职场文书
高二英语教学反思
2016/03/03 职场文书
导游词之南京汤山温泉
2019/11/26 职场文书
总结Python使用过程中的bug
2021/06/18 Python
vue 数字翻牌器动态加载数据
2022/04/20 Vue.js