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如何透过ODBC来存取数据库
Oct 09 PHP
php class中public,private,protected的区别以及实例分析
Jun 18 PHP
php 修改、增加xml结点属性的实现代码
Oct 22 PHP
php缓冲 output_buffering和ob_start使用介绍
Jan 30 PHP
PHP_NETWORK_GETADDRESSES: GETADDRINFO FAILED问题解决办法
May 04 PHP
PHP之sprintf函数用法详解
Nov 12 PHP
PHP清除字符串中所有无用标签的方法
Dec 01 PHP
PHP的Yii框架入门使用教程
Feb 15 PHP
session 加入redis的实现代码
Jul 15 PHP
CentOS 7.2 下编译安装PHP7.0.10+MySQL5.7.14+Nginx1.10.1的方法详解(mini版本)
Sep 01 PHP
PHP去除字符串最后一个字符的三种方法实例
Mar 01 PHP
PHP getName()函数讲解
Feb 03 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数组应用之比较两个时间的相减排序
2008/08/18 PHP
ThinkPHP3.1新特性之内容解析输出详解
2014/06/19 PHP
PHP使用json_encode函数时不转义中文的解决方法
2014/11/12 PHP
php基于CodeIgniter实现图片上传、剪切功能
2016/05/14 PHP
PHP开发api接口安全验证操作实例详解
2020/03/26 PHP
script的async属性以非阻塞的模式加载脚本
2013/01/15 Javascript
Javascript实现重力弹跳拖拽运动效果示例
2013/06/28 Javascript
JS冒泡事件的快速解决方法
2013/12/16 Javascript
jquery 无限级下拉菜单的简单实现代码
2014/02/21 Javascript
一个支付页面DEMO附截图
2014/07/22 Javascript
jQuery中nextAll()方法用法实例
2015/01/07 Javascript
Angular中的Promise对象($q介绍)
2015/03/03 Javascript
JS通过ajax动态读取xml文件内容的方法
2015/03/24 Javascript
jquery实现全选和全不选功能效果的实现代码【推荐】
2016/05/05 Javascript
jQuery弹出层插件popShow用法示例
2017/01/23 Javascript
JavaScript贪吃蛇小组件实例代码
2017/08/20 Javascript
浅谈Vue2.0父子组件间事件派发机制
2018/01/08 Javascript
关于vue v-for循环解决img标签的src动态绑定问题
2018/09/18 Javascript
浅谈关于JS下大批量异步任务按顺序执行解决方案一点思考
2019/01/08 Javascript
Vue实现的父组件向子组件传值功能示例
2019/01/19 Javascript
JavaScript如何把两个数组对象合并过程解析
2019/10/10 Javascript
js实现tab栏切换效果
2020/08/02 Javascript
Python实现的监测服务器硬盘使用率脚本分享
2014/11/07 Python
Python内置函数之filter map reduce介绍
2014/11/30 Python
Python 获得命令行参数的方法(推荐)
2018/01/24 Python
python实现梯度下降算法
2020/03/24 Python
Django的models中on_delete参数详解
2019/07/16 Python
程序员的七夕用30行代码让Python化身表白神器
2019/08/07 Python
python 字符串常用函数详解
2019/09/11 Python
python 实现按对象传值
2019/12/26 Python
PyCharm Community安装与配置的详细教程
2020/11/24 Python
JD Sports澳洲官网:英国领先的运动鞋和运动时尚零售商
2020/02/15 全球购物
社区灵活就业证明
2014/11/03 职场文书
2015年城市管理工作总结
2015/05/23 职场文书
2015年中学总务处工作总结
2015/07/22 职场文书
Javascript设计模式之原型模式详细
2021/10/05 Javascript