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 相关文章推荐
phpmyadmin操作流程
Oct 09 PHP
一个图形显示IP的PHP程序代码
Oct 19 PHP
php中获取远程客户端的真实ip地址的方法
Aug 03 PHP
php中的filesystem文件系统函数介绍及使用示例
Feb 13 PHP
CodeIgniter框架中_remap()使用方法2例
Mar 10 PHP
ThinkPHP CURD方法之order方法详解
Jun 18 PHP
PHP实现支持SSL连接的SMTP邮件发送类
Mar 05 PHP
php 截取GBK文档某个位置开始的n个字符方法
Mar 08 PHP
总结的一些PHP开发中的tips(必看篇)
Mar 24 PHP
Windows 下安装 swoole 图文教程(php)
Jun 05 PHP
php删除一个路径下的所有文件夹和文件的方法
Feb 07 PHP
laravel 解决强制跳转 https的问题
Oct 22 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开发过程中关于继承的使用方法分享
2011/06/17 PHP
php&amp;mysql 日期操作小记
2012/02/27 PHP
php stream_get_meta_data返回值
2013/09/29 PHP
PHP封装的一个支持HTML、JS、PHP重定向的多功能跳转函数
2014/06/19 PHP
PHP实现打包zip并下载功能
2018/06/12 PHP
php DES加密算法实例分析
2019/09/18 PHP
PHP实现腾讯短网址生成api接口实例
2020/12/08 PHP
常见效果实现之返回顶部(结合淡入、淡出、减速滚动)
2012/01/04 Javascript
javascript之典型高阶函数应用介绍二
2013/01/10 Javascript
S2SH整合JQuery+Ajax实现登录验证功能实现代码
2013/01/30 Javascript
jquery实现固定顶部导航效果(仿蘑菇街)
2013/03/21 Javascript
Javascript中常见的校验如域名、手机、邮箱等等
2014/01/02 Javascript
一个获取第n个元素节点的js函数
2014/09/02 Javascript
JavaScript性能优化之函数节流(throttle)与函数去抖(debounce)
2016/08/11 Javascript
Bootstrap和Angularjs配合自制弹框的实例代码
2016/08/24 Javascript
基于Vue2实现简易的省市区县三级联动组件效果
2018/11/05 Javascript
JS+canvas画布实现炫酷的旋转星空效果示例
2019/02/13 Javascript
javascript实现小型区块链功能
2019/04/03 Javascript
微信小程序实现图片上传
2019/05/23 Javascript
ES6基础之 Promise 对象用法实例详解
2019/08/22 Javascript
你不可不知的Vue.js列表渲染详解
2019/10/01 Javascript
[03:47]2015国际邀请赛第三日现场精彩回顾
2015/08/08 DOTA
Python使用minidom读写xml的方法
2015/06/03 Python
轻松掌握python设计模式之策略模式
2016/11/18 Python
使用python绘制温度变化雷达图
2019/10/18 Python
pytorch实现建立自己的数据集(以mnist为例)
2020/01/18 Python
利用python进行文件操作
2020/12/04 Python
工程师岗位职责
2013/11/08 职场文书
竞选班干部演讲稿100字
2014/08/20 职场文书
生死抉择观后感
2015/06/09 职场文书
创业计划书之酒吧
2019/12/02 职场文书
Nginx同一个域名配置多个项目的实现方法
2021/03/31 Servers
python flask框架快速入门
2021/05/14 Python
Golang实现可重入锁的示例代码
2022/05/25 Golang
Zabbix对Kafka topic积压数据监控的问题(bug优化)
2022/07/07 Servers
TS 类型兼容教程示例详解
2022/09/23 Javascript