filter_var() 函数通过指定的过滤器过滤变量。 
如果成功,则返回已过滤的数据,如果失败,则返回 false。 
语法 :
filter_var(variable, filter, options)variable:必需。规定要过滤的变量。

filter:可选。规定要使用的过滤器的 ID。

options:规定包含标志/选项的数组。检查每个过滤器可能的标志和选项。

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

案例:

<?php
$errorArray=array(); if(isset($_POST['save'])){
  $name=trim($_POST['uname']);
  $address=trim($_POST['address']);
  $age=trim($_POST['age']);
  $email=trim($_POST['email']);
  $website=trim($_POST['website']); if($name=='' || $address=='' || $age=='' || $email=='' || $website==''){
array_push($errorArray,'Please fill all fileds.');
} if(filter_var($age,FILTER_VALIDATE_INT)==FALSE){
array_push($errorArray,'Please enter a number for age.');
} if(filter_var($email,FILTER_VALIDATE_EMAIL)==FALSE){
array_push($errorArray,'Email address is incorrect.');
} if(filter_var($website,FILTER_VALIDATE_URL)==FALSE){
array_push($errorArray,'Website address is incorrect.');
}
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
fieldset{width: 400px;}
.error{color:red;}
.info{color:#008000;font-weight:bold;}
</style>
</head>
<body>
<?php
if(count($errorArray)>0){
?>
<p class="error">
<?php
foreach($errorArray as $error){
echo $error.'<br/>';
}
?>
</p>
<?php }?>
<form method="post">
<fieldset>
<legend><strong>All fields are mandatory</strong></legend>
<table>
<tbody>
<tr>
<td>Name:</td>
<td><input type="text" name="uname"/></td>
</tr>
<tr>
<td>Address:</td>
<td><input type="text" name="address"/></td>
</tr>
<tr>
<td>Age:</td>
<td><input type="text" name="age"/></td>
</tr>
<tr>
<td>Email:</td>
<td><input type="text" name="email"/></td>
</tr>
<tr>
<td>Website:</td>
<td><input type="text" name="website"/></td>
</tr>
</tbody>
</table>
</fieldset>
<br/>
<input type="submit" name="save" value="Submit"/>
</form>
</body>
</html>

PHP 中filter_var的使用的更多相关文章

  1. Python开源框架

    info:更多Django信息url:https://www.oschina.net/p/djangodetail: Django 是 Python 编程语言驱动的一个开源模型-视图-控制器(MVC) ...

  2. thinkphp中I方法

    概述 正如你所见到的一样,I方法是ThinkPHP众多单字母函数中的新成员,其命名来自于英文Input(输入),主要用于更加方便和安全的获取系统输入变量,可以用于任何地方,用法格式如下:I('变量类型 ...

  3. php中正则表达式的匹配和数据验证总结

    正则表达式能匹配复杂的字符串形式,比字符串处理函数功能更加多,只不过执行效率有所降低,但是可以实现非常复杂的匹配,下面总结一下 1.简单的字符串匹配,判断指定字符串是不是在另一个字符串中,和字符串查找 ...

  4. 10件在PHP 7中不要做的事情

    刚刚在园子里看到一篇特别好的文章,就拿到我的园子里分享了. 1. 不要使用mysql_函数 这一天终于来了,从此你不仅仅“不应该”使用mysql_函数.PHP 7 已经把它们从核心中全部移除了,也就是 ...

  5. php使用过滤器filter_var轻松验证邮箱url和ip地址等

    以前使用php的时候还不知道有过滤器filter这玩意,那时候判断邮箱.url和ip地址格式是否符合都是用正则表达式.后来随着使用的逐渐深入,才知道在php中也可以使用内置的函数库过滤器filter来 ...

  6. 10 件在 PHP 7 中不要做的事情

    1. 不要使用mysql_函数 这一天终于来了,从此你不仅仅"不应该"使用mysql_函数.PHP 7 已经把它们从核心中全部移除了,也就是说你需要迁移到好得多的mysqli_函数 ...

  7. thinkphp中各字母代表的发放和具体实例

    hinkphp单字母函数使用指南A方法 A方法用于在内部实例化控制器,调用格式:A('[项目://][分组/]模块','控制器层名称') 最简单的用法: $User = A('User'); 复制代码 ...

  8. 十个你需要在 PHP 7 中避免的坑

    1. 不要使用 mysql_ 类函数 终于,你不用再看到建议不要使用 mysql_ 函数的提示了.因为 PHP 7 从核心上完全移除了它们,这意味着请你移步至更好的 mysqli_ 类函数,或者更灵活 ...

  9. ***ThinkPHP中的常用方法汇总总结:M方法,D方法,U方法,I方法

    thinkPHP中M()和D()的区别 在实例化的过程中,经常使用D方法和M方法,这两个方法的区别在于M方法实例化模型无需用户为每个数据表定义模型类,如果D方法没有找到定义的模型类,则会自动调用M方法 ...

随机推荐

  1. 【转】ubuntu连接android设备(附最简单方法)

    原文网址:http://blog.csdn.net/maosidiaoxian/article/details/22661725 在ubuntu下连接android设备,虽然不用像windows那样安 ...

  2. 【转】随身HiFi 安卓OTG功能在音频上的妙用

    原文网址:http://article.pchome.net/content-1745467.html 随身HiFi 安卓OTG功能在音频上的妙用 [PChome电脑之家音频频道原创]说起Androi ...

  3. 手机上使用asmack开发xmpp客户端

    openfire服务端,smack:     下载地址:http://www.igniterealtime.org/downloads/index.jsp     源代码:http://www.ign ...

  4. C++ 哈希表

    从2011年开始,C++支持非排序的unordered_map和unordered_set(原先的map和set都是通过有序结构实现的) 下面是一些性能上的测试 #include<iostrea ...

  5. C语言--对数组地址的解析

    在C编程中,我们进程会用到数组,这看起来很简单,因为,数组就是存储相同类型元素的集合嘛,不过,当你还没考虑到数组的地址问题时,一切都是简单的,如果你接触了数组中的地址概念,也许你会改变你的想法. 下面 ...

  6. 查询rman备份信息经常使用指令

    查询rman备份信息经常使用指令 ----登陆到rman $rman target / ----以精简的格式查看备份信息 RMAN> list backup of database summar ...

  7. 【浅墨Unity3D Shader编程】之二 雪山飞狐篇:Unity的基本Shader框架写法&amp;颜色、光照与材质

    本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接:http://blog.csdn.net/poem_qianmo/article/details/40955607 作者:毛星云(浅墨)  ...

  8. Appium依据xpath获取控件实例随笔

    如文章<Appium基于安卓的各种FindElement的控件定位方法实践>所述,Appium拥有众多获取控件的方法.当中一种就是依据控件所在页面的XPATH来定位控件. 本文就是尝试通过 ...

  9. UI Prototype Design IDE( 界面原型设计工具 )

    UI Prototype Design IDE( 界面原型设计工具 )   如何用工具去与客户进行交流,互动,定义要做的系统,什么什么的... 0.Balsamiq Mockups http://ww ...

  10. android SlidingTabLayout实现ViewPager页卡滑动效果

    先来张效果图(能够滑动切换页卡) watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcGVuZ2t2/font/5a6L5L2T/fontsize/400/fi ...