学习笔记:filter_var()函数

时间:2022-01-10 13:47:47

PHP 过滤器用于对来自非安全来源的数据(比如用户输入)进行验证和过滤

filter_var() 函数通过指定的过滤器过滤变量。 
如果成功,则返回已过滤的数据,如果失败,则返回 false。 
语法 
filter_var(variable, filter, options)variable:必需。规定要过滤的变量。 
filter:可选。规定要使用的过滤器的 ID。 (参见下面的FiltersID列表) 
options:规定包含标志/选项的数组。检查每个过滤器可能的标志和选项。

<?
@header('content-type:text/html;charset=utf-8;');
$email_a='jcifox@gmail.com';
$email_b='@jcifox@gmail.com';
$email_c='jcifoxgmail.com';
$ip_a='0.0.0.0';
$ip_b='255.255.255.255';
$ip_c='0.0.0.265';
echo $email_a.' : ';
echo (filter_var($email_a,FILTER_VALIDATE_EMAIL))?'is valid':'is not valid';
echo '<br /><br />';
echo $email_b.' : ';
echo (filter_var($email_b,FILTER_VALIDATE_EMAIL))?'is valid':'is not valid';
echo '<br /><br />';
echo $email_c.' : ';
echo (filter_var($email_c,FILTER_VALIDATE_EMAIL))?'is valid':'is not valid';
echo '<br /><br />';
echo $ip_a.' : ';
echo (filter_var($ip_a,FILTER_VALIDATE_IP))?'is valid':'is not valid';
echo '<br /><br />';
echo $ip_b.' : ';
echo (filter_var($ip_b,FILTER_VALIDATE_IP))?'is valid':'is not valid';
echo '<br /><br />';
echo $ip_c.' : ';
echo (filter_var($ip_c,FILTER_VALIDATE_IP))?'is valid':'is not valid';
?>

FiltersID名称:描述 
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 地址来验证。

学习笔记:filter_var()函数的更多相关文章

  1. Matlab学习笔记 figure函数

    Matlab学习笔记 figure函数 matlab中的 figure 命令,能够创建一个用来显示图形输出的一个窗口对象.每一个这样的窗口都有一些属性,例如窗口的尺寸.位置,等等.下面一一介绍它们. ...

  2. matlab学习笔记 bsxfun函数

    matlab学习笔记 bsxfun函数 最近总是遇到 bsxfun这个函数,前几次因为无关紧要只是大概看了一下函数体去对比结果,今天再一次遇见了这个函数,想想还是有必要掌握的,遂查了些资料总结如下. ...

  3. matlab学习笔记13&lowbar;1 函数返回值

    一起来学matlab-matlab学习笔记13函数 13_1 函数返回值 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文献 https://blog.csdn.net/qq_36556 ...

  4. swift学习笔记2——函数、闭包

    之前学习swift时的个人笔记,根据github:the-swift-programming-language-in-chinese学习.总结,将重要的内容提取,加以理解后整理为学习笔记,方便以后查询 ...

  5. haskell学习笔记&lowbar;函数

    一开始学习函数式编程语言就被告知函数式编程语言是一种“定义式”的语言,而不是一种命令式的语言,在学习haskell的函数语法时,此感觉更加强烈,haskell的函数定义倾向于一种类似C++里面的swi ...

  6. Python学习笔记之函数

    这篇文章介绍有关 Python 函数中一些常被大家忽略的知识点,帮助大家更全面的掌握 Python 中函数的使用技巧 1.函数文档 给函数添加注释,可以在 def 语句后面添加独立字符串,这样的注释被 ...

  7. es6学习笔记-async函数

    1 前情摘要 前段时间时间进行项目开发,需求安排不是很合理,导致一直高强度的加班工作,这一个月不是常说的996,简直是936,还好熬过来了.在此期间不是刚学会了es6的promise,在项目有用到pr ...

  8. Python学习笔记系列——函数

    今年下半年的计划主要是Python和Mysql了,公司不方便看书和视频,就照着廖雪峰的Python网站开始看了.以下纯为个人笔记记录,若是想系统学习的小伙伴还是看这里的好一些,毕竟系统.https:/ ...

  9. javascript学习笔记--迭代函数

    概要 这里的迭代函数指的是对数组对象的操作方法,js数组共有五个迭代函数:every.fifter.forEach.map.some. 1.every every方法,返回值为Boolean类型,tr ...

  10. MySql学习笔记——存储函数

    在学习完存储过程后,今天主要回顾一下mysql中的存储函数的知识. 函数与存储过程的区别 首先,存储函数也是过程式对象之一,与存储过程相似.它们都是由SQL和过程式语句组成的代码片断,并且可以从应用程 ...

随机推荐

  1. Android常见控件— — —ProgressBar

    ProgressBar用于在界面上显示一个进度条,表示我们的程序正在加载一些数据. <?xml version="1.0" encoding="utf-8&quot ...

  2. 多字节字符与界面 manifest

    之前把调试项目的时候软件界面变成了很古板的那种界面,后来查了一会发现因为字符集的改变,个人习惯统一我一般用同一种字符集,虽然Unicode只涉及语言问题,不过总感觉它占内存,用非字符集,搜索发现将代码 ...

  3. 细说SSO单点登录(转)

    什么是SSO? 如果你已知道,请略过本节! SSO核心意义就一句话:一处登录,处处登录:一处注销,处处注销.即:在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统. 很多人容易把SS ...

  4. JVM(一) OpenJDK1&period;8源码在Ubuntu16&period;04下的编译

    笔者最近在学习周志明老师编写的<深入理解Java虚拟机>一书,书中第一章的实战部分就是"自己编译JDK",不过书中提到的是OpenJDK 7的编译.由于现在Java开发 ...

  5. Spring mvc中junit测试遇到com&period;mysql&period;jdbc&period;exceptions&period;jdbc4&period;MySQLSyntaxErrorException错误怎么解决

    今天遇到图片中的错误,纠结了一下,弄清楚了怎么从控制台中读取错误信息,并修改错误. com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: ...

  6. 2&period;7、Android Studio使用翻译编辑器本地化UI

    如果你的应用支持多语言,你需要合理的管理你的翻译的string资源.Android Studio 提供了翻译编辑器来使查看和管理翻译的资源更加容易. 关于翻译编辑器 翻译后的资源在你的项目里保存在不同 ...

  7. C&num;多线程--信号量(Semaphore)&lbrack;z&rsqb;

    百度百科:Semaphore,是负责协调各个线程, 以保证它们能够正确.合理的使用公共资源.也是操作系统中用于控制进程同步互斥的量. Semaphore常用的方法有两个WaitOne()和Releas ...

  8. Cause&colon; com&period;mysql&period;jdbc&period;exceptions&period;jdbc4&period;MySQLSyntaxErrorException&colon; &period;&period;&period;&period;&period; this is incompatible with sql&lowbar;mode&equals;only&lowbar;full&lowbar;group&lowbar;by

    一.异常信息 org.springframework.jdbc.BadSqlGrammarException: ### Error querying database. Cause: com.mysq ...

  9. node&plus;koa中转层开发实践总结

    node中转层的意义: 1.能解决前后端代码部署在不同服务器下时的跨域问题.(实现) 2.合并请求,业务逻辑处理.(实现) 3.单页应用的首屏服务端渲染.(暂未实现) 环境准备: node: ^8.1 ...

  10. final,finally和 finalize的区别

    中等区别: 虽然这三个单词在Java中都存在,但是并没有太多关联:  final:java中的关键字,修饰符. 1.如果一个类被声明为final,就意味着它不能再派生出新的子类,不能作为父类被继承.因 ...