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 相关文章推荐
论坛头像随机变换代码
Oct 09 PHP
php join函数应用
May 04 PHP
PHP mail()函数使用及配置方法
Jan 14 PHP
php5.3以后的版本连接sqlserver2000的方法
Jul 28 PHP
PHP常用数组函数介绍
Jul 28 PHP
php中使用array_filter()函数过滤空数组的实现代码
Aug 19 PHP
Web程序工作原理详解
Dec 25 PHP
php使用GD实现颜色渐变实例
Jun 02 PHP
php源码分析之DZX1.5随机数函数random用法
Jun 17 PHP
php提取身份证号码中的生日日期以及验证是否为成年人的函数
Sep 29 PHP
php基于Fleaphp框架实现cvs数据导入MySQL的方法
Feb 23 PHP
PHP实现的常规正则验证helper公共类完整实例
Apr 27 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中cookie的作用域
2008/03/27 PHP
PHP文件读写操作之文件写入代码
2011/01/13 PHP
[原创]ThinkPHP中SHOW_RUN_TIME不能正常显示运行时间的解决方法
2015/10/10 PHP
php实现的递归提成方案实例
2015/11/14 PHP
分享一个漂亮的php验证码类
2016/09/29 PHP
Laravel接收前端ajax传来的数据的实例代码
2017/07/20 PHP
Laravel框架实现抢红包功能示例
2019/10/31 PHP
javascript静态的url如何传递
2007/05/03 Javascript
jQuery实现下拉框左右选择的简单实例
2014/02/22 Javascript
一个实用的图片切换支持点击切换和自动轮播
2014/09/09 Javascript
jquery判断单选按钮radio是否选中的方法
2015/05/05 Javascript
javascript实现点击后变换按钮显示文字的方法
2015/05/13 Javascript
js实现的tab标签切换效果代码分享
2015/08/25 Javascript
基于javascript实现动态显示当前系统时间
2016/01/28 Javascript
C#微信小程序服务端获取用户解密信息实例代码
2017/03/10 Javascript
vue-cli构建项目下使用微信分享功能
2018/05/28 Javascript
Vue 开发音乐播放器之歌手页右侧快速入口功能
2018/08/08 Javascript
vue下history模式刷新后404错误解决方法
2018/08/18 Javascript
使用layui的layer组件做弹出层的例子
2019/09/27 Javascript
详解Python中的Descriptor描述符类
2016/06/14 Python
python入门教程之识别验证码
2017/03/04 Python
ubuntu中配置pyqt4环境教程
2017/12/27 Python
numpy中实现ndarray数组返回符合特定条件的索引方法
2018/04/17 Python
使用Tensorflow将自己的数据分割成batch训练实例
2020/01/20 Python
Smilodox官方运动服装店:从运动服到健身配件
2020/08/27 全球购物
雷人标语集锦
2014/06/19 职场文书
小学学习雷锋活动总结
2014/07/03 职场文书
公司离职证明标准范本
2014/10/05 职场文书
医院保洁员岗位职责
2015/02/13 职场文书
乡镇安全生产月活动总结
2015/05/08 职场文书
2016党员三严三实心得体会
2016/01/15 职场文书
护理工作心得体会
2016/01/22 职场文书
《日月潭》教学反思
2016/02/20 职场文书
SONY AN-LP1 短波有源天线放大器
2021/04/22 无线电
如何在pycharm中快捷安装pip命令(如pygame)
2021/05/31 Python
Spring 使用注解开发
2022/05/20 Java/Android