> 文章列表 > filter_var php

filter_var php

filter_var php

什么是filter_var函数

filter_var函数是PHP中一个用于数据过滤的函数。它可以用来检查并过滤通过任意通信渠道提交过来的数据。其输入参数包含待过滤的数据和过滤规则,返回值为过滤后的数据或false。

例子

$email = "someone@example.com";if (!filter_var($email, FILTER_VALIDATE_EMAIL) === false) { echo("$email 是一个有效的邮箱地址");} else { echo("$email 不是一个有效的邮箱地址");}

filter_var函数的常用过滤规则

filter_var函数的第二个参数可以指定过滤规则。以下是filter_var函数中最常用的过滤规则:

  • FILTER_VALIDATE_EMAIL:验证邮箱地址
  • FILTER_VALIDATE_IP:验证IP地址
  • FILTER_VALIDATE_INT:验证整数
  • FILTER_VALIDATE_URL:验证url
  • FILTER_SANITIZE_STRING:去除字符串中非法字符

如何使用filter_var函数做验证

使用filter_var函数时,可以通过设置过滤器的选项来指定自己的验证规则。

例子:

$int = 100;if(!filter_var($int, FILTER_VALIDATE_INT)){ echo("不是一个合法的整数");}else{ echo("是一个合法的整数");}

在上面的例子中,指定了排序,可以用于验证通过网络表单提交的整数。

filter_var函数是如何过滤字符串的

filter_var函数可以通过过滤器去除字符串中的非法字符。下面是一个例子:

$str="

quick brown fox

";$newstr= filter_var($str, FILTER_SANITIZE_STRING);echo $newstr;

在上面的例子中,filter_var将字符串中的标签去除,仅保留"quick brown fox"字符串。

使用filter_var_array函数批量验证表单数据

在表单处理中,经常需要验证一些输入字段。使用filter_var_array函数,可以批量验证表单数据。以下是一个例子:

$arr = array( "name" => "peter", "email" => "peter@example.com", "website" => "http://www.example.com", "age" => "30");$filters = array( "name" => array("filter"=>FILTER_SANITIZE_STRING), "email" => array("filter"=>FILTER_VALIDATE_EMAIL), "website" => array("filter"=>FILTER_VALIDATE_URL), "age" => array("filter"=>FILTER_VALIDATE_INT, "options"=>array("min_range"=>1, "max_range"=>120) ));$result = filter_var_array($arr,$filters);var_dump($result);

在上面的例子中,使用了filter_var_array函数过滤数组中的数据。可以看到,在返回的数组中,除了age字段(超出允许范围),其它字段都可以通过验证。