Rumah  >  Artikel  >  pembangunan bahagian belakang  >  PHP中filter_var() 函数和Filter 函数的分析

PHP中filter_var() 函数和Filter 函数的分析

不言
不言asal
2018-06-21 13:54:011291semak imbas

这篇文章主要介绍了关于PHP中filter_var() 函数和Filter 函数的分析,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

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

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

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

FiltersID名称:描述
FILTER_CALLBACK:调用用户自定义函数来过滤数据。
FILTER_SANITIZE_STRING:去除标签,去除或编码特殊字符。
FILTER_SANITIZE_STRIPPED:"string" 过滤器的别名。
FILTER_SANITIZE_ENCODED:URL-encode 字符串,去除或编码特殊字符。
FILTER_SANITIZE_SPECIAL_CHARS:HTML 转义字符 '"a8093152e673feb7aba1828c43532094& 以及 ASCII 值小于 32 的字符。
FILTER_SANITIZE_EMAIL:删除所有字符,除了字母、数字以及 !#$%&'*+-/=?^_`{|}~@.[]
FILTER_SANITIZE_URL:删除所有字符,除了字母、数字以及 $-_.+!*'(),{}|\\^~[]`a8093152e673feb7aba1828c43532094#%";/?:@&=
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中文网!

相关推荐:

关于php中urlencode()URL编码函数的解析

关于php_pdo 预处理语句的解析

Atas ialah kandungan terperinci PHP中filter_var() 函数和Filter 函数的分析. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn