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 相关文章推荐
AJAX for PHP简单表数据查询实例
Jan 02 PHP
发布一个迷你php+AJAX聊天程序[聊天室]提供下载
Jul 21 PHP
mysql 中InnoDB和MyISAM的区别分析小结
Apr 15 PHP
php 获取客户端的真实ip
Nov 30 PHP
PHP求最大子序列和的算法实现
Jun 24 PHP
php在文件指定行中写入代码的方法
May 23 PHP
php获取操作系统语言代码
Nov 04 PHP
php进行支付宝开发中return_url和notify_url的区别分析
Dec 22 PHP
php中session_id()函数详细介绍,会话id生成过程及session id长度
Sep 23 PHP
ThinkPHP 3使用OSS的方法
Jul 19 PHP
Laravel 6 将新增为指定队列任务设置中间件的功能
Aug 06 PHP
PHP通过文件保存和更新信息的方法分析
Sep 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 中文字符串首字母的获取函数分享
2013/11/04 PHP
PHP中几个可以提高运行效率的代码写法、技巧分享
2014/08/21 PHP
PHP实现视频文件上传完整实例
2014/08/28 PHP
PHP计算数组中值的和与乘积的方法(array_sum与array_product函数)
2016/04/01 PHP
Laravel手动返回错误码示例
2019/10/22 PHP
Nigma vs Liquid BO3 第二场2.13
2021/03/10 DOTA
IE和Firefox的Javascript兼容性总结[推荐收藏]
2011/10/19 Javascript
异步javascript的原理和实现技巧介绍
2012/11/08 Javascript
上传的js验证(图片/文件的扩展名)
2013/04/25 Javascript
VS2008中使用JavaScript调用WebServices
2014/12/18 Javascript
浅谈jQuery中的checkbox问题
2016/08/10 Javascript
React Native之TextInput组件解析示例
2017/08/22 Javascript
Vue组件和Route的生命周期实例详解
2018/02/10 Javascript
实例详解Vue项目使用eslint + prettier规范代码风格
2018/08/20 Javascript
vue实现购物车抛物线小球动画效果的方法详解
2019/02/13 Javascript
node.js 基于cheerio的爬虫工具的实现(需要登录权限的爬虫工具)
2019/04/10 Javascript
Vue事件处理原理及过程详解
2020/03/11 Javascript
简单介绍Python的轻便web框架Bottle
2015/04/08 Python
Python实现获取照片拍摄日期并重命名的方法
2017/09/30 Python
Python tkinter实现的图片移动碰撞动画效果【附源码下载】
2018/01/04 Python
使用python获取csv文本的某行或某列数据的实例
2018/04/03 Python
对python中for、if、while的区别与比较方法
2018/06/25 Python
解决PyCharm同目录下导入模块会报错的问题
2018/10/13 Python
10款最好的Python开发编辑器
2019/07/03 Python
解析python的局部变量和全局变量
2019/08/15 Python
python生成任意频率正弦波方式
2020/02/25 Python
PyCharm 2020 激活到 2100 年的教程
2020/03/25 Python
Tensorflow之MNIST CNN实现并保存、加载模型
2020/06/17 Python
大学生求职工作的自我评价
2014/02/13 职场文书
运动会入场词50字
2014/02/20 职场文书
公司开业庆典主持词
2014/03/21 职场文书
《春晓》教学反思
2014/04/20 职场文书
流动人口婚育证明
2014/10/19 职场文书
2014年社区民政工作总结
2014/12/02 职场文书
家长会感言
2015/08/01 职场文书
JVM入门之类加载与字节码技术(类加载与类的加载器)
2021/06/15 Java/Android