在PHP开发中,大家经常会对提交的表单数据做合法性验证,比如验证Email/IP/URL,大家首先想到的应该是使用正则验证。其实在PHP中已经内置了一个过滤验证函数Filter,大家可以参考一下。

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

filter_var — Filters a variable with a specified filter

安装

filter 函数是 PHP 核心的组成部分。无需安装即可使用这些函数。

PHP Filter 函数

PHP:指示支持该函数的最早的 PHP 版本。

函数 描述 PHP

filter_has_var()	检查是否存在指定输入类型的变量。	5
filter_id() 返回指定过滤器的 ID 号。 5
filter_input() 从脚本外部获取输入,并进行过滤。 5
filter_input_array() 从脚本外部获取多项输入,并进行过滤。 5
filter_list() 返回包含所有得到支持的过滤器的一个数组。 5
filter_var_array() 获取多项变量,并进行过滤。 5
filter_var() 获取一个变量,并进行过滤。 5

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 地址来验证。

参考链接:

http://cn2.php.net/manual/zh/book.filter.php

使用PHP自带的过滤验证函数:Filter的更多相关文章

  1. html5自带表单验证

    起因:今天无意中发现chrome的input框自带表单验证!于是就去试试firefox,惊奇的发现也有自带的验证提示,只不过两者的样式不一样 chrome中的样子: firefox中的样子: 发散:具 ...

  2. TP框架自带的正则验证的规则(转载)

    thinkphp框架里面自带有很多自动验证的规则,下面是框架自带的正则验证的规则,官方的说明文档里面没有这么多,所以记下来,以备使用. view sourceprint?01static $regex ...

  3. JavaScript验证函数大全

    1. 长度限制 <script> function test() { if(document.a.b.value.length>50) { alert("不能超过50个字符 ...

  4. C/C++ 不带参数的回调函数 与 带参数的回调函数 函数指针数组 例子

    先来不带参数的回调函数例子 #include <iostream> #include <windows.h> void printFunc() { std::cout<& ...

  5. c#md5与SHA1验证函数

    /// <summary> /// MD5验证函数 /// </summary> /// <param name="fileName">文件的路 ...

  6. C语言带参数的main函数

    C语言带参数的main函数 #include<stdio.h> int main(int argc,char*argv[]) { int i; ;i<argc;i++) printf ...

  7. JS通用表单验证函数,基于javascript正则表达式

    表单的验证在实际的开发当中是件很烦琐又无趣的事情今天在做一个小项目的时候,需要JS验证,寻找到一个比较好的东西 地址如下: http://blog.csdn.net/goodfunman/archiv ...

  8. php信用卡卡号验证函数

    介绍一个php信用卡卡号验证函数,可以验证一个卡号是否是信用卡. function validateCard ($cardnumber){ $cardnumber = preg_replace (&q ...

  9. TP框架自带的正则验证的规则

    thinkphp框架里面自带有很多自动验证的规则,下面是框架自带的正则验证的规则,官方的说明文档里面没有这么多,所以记下来,以备使用. view sourceprint? 01 static $reg ...

  10. C++——带默认参数值的函数

    函数在声明时可以预先给出默认的形参值,调用时如给出实参,则采用实参值,否则采用预先给出的默认参数值. ,) { return x + y;} int main() { add(,);//10+20 a ...

随机推荐

  1. 真正“搞”懂HTTP协议07之body的玩法(实践篇)

    我真没想到这篇文章竟然写了将近一个月,一方面我在写这篇文章的时候阳了,所以将近有两周没干活,另外一方面,我发现在写基于Node的HTTP的demo的时候,我不会Node,所以我又要一边学学Node,一 ...

  2. [Leetcode]设计链表

    题目 设计链表的实现.您可以选择使用单链表或双链表.单链表中的节点应该具有两个属性:val 和 next.val 是当前节点的值,next 是指向下一个节点的指针/引用.如果要使用双向链表,则还需要一 ...

  3. Goby安装与使用

    前言 Goby是一款基于网络空间测绘技术的新一代网络安全工具,它通过给目标网络建立完整的资产知识库,进行网络安全事件应急与漏洞应急. Goby可提供最全面的资产识别,目前预置了超过10万种规则识别引擎 ...

  4. vue element admin 关闭eslint校验

    vue.config.js里面进行设置 lintOnSave: false, // lintOnSave: process.env.NODE_ENV === 'development',

  5. BC7-牛牛的字符矩形

    题目描述 牛牛尝试用键盘读入一个字符,然后在屏幕上显示用这个字符组成的 3*3 的矩形. 输入描述 一行读入一个 char 类型的字符. 输出描述 输出这个字符组成的 3*3 矩形. 示例 1 输入: ...

  6. postgresql的mysql外部数据扩展mysql_fdw编译及安装

    下载mysql_fdw项目文件:https://pgxn.org/dist/mysql_fdw/ 注:我使用的是ubuntu18.04,可以直接在仓库查看是否有二级制安装文件,当然是有的啦,这是很方便 ...

  7. 你想成为.Net 7的技术高手吗?来这里看看

    前言: 你是否时常觉得,整天搞些Curd和增删改查.这些毫无意义的东西,完全是浪费生命.想要进阶,成为高手.却苦于找不到方法,没有一套系统性的东西. 有鉴于此,新建了一个群,方便大家一起交流和分享一些 ...

  8. Spring AOP与AspectJ的对比及应用

    1 简介 AOP,即面向切面编程是很常用的技术,特别是在Java Web开发中.而最流行的AOP框架分别是Spring AOP和AspectJ. 2 Spring AOP vs AspectJ Spr ...

  9. 1888: 生成括号(等级考试3级 2021-09 T5)

    题目: 程序: #include<bits/stdc++.h> using namespace std; int n; string s1; void dfs(int l,int r) { ...

  10. IDEA插件:lombok

    1 安装插件lombok File => Settings => Plugins => Marketplace.在 Marketplace 中搜索 lombok 并安装,安装成功后 ...