PHP filter_var() 函数用于使用指定的过滤器过滤变量。
语法
filter_var(var, filter, options)
参数
var | 必填。 指定要过滤的变量。 |
filter | 可选。 指定要应用的过滤器的 ID。请参阅过滤器列表。如果省略,将使用 FILTER_DEFAULT,相当于 FILTER_UNSAFE_RAW。这将导致默认情况下不进行过滤。 |
options | 可选。 指定选项的关联数组或标志的按位析取。如果过滤器接受选项,则可以在数组的"flags"字段中提供标志。 |
返回值
返回过滤后的数据,如果过滤器失败,则返回 false。
示例:验证浮点数
在下面的示例中,filter_var() 函数用于验证给定的变量。
<?php
function validate_age($age) {
$opt =
array(
'options' => array(
//过滤器失败时返回的值
'default' => "Age is not valid",
//这里有其他选项
"min_range"=>1,
"max_range"=>100
)
);
//检查年龄验证
if (!filter_var($age, FILTER_VALIDATE_FLOAT, $opt) === false)
echo filter_var($age, FILTER_VALIDATE_FLOAT, $opt)."\n";
}
//验证年龄
validate_age(50);
validate_age(75);
validate_age(150);
validate_age("abc");
?>
上述代码的输出将是:
50
75
Age is not valid
Age is not valid
示例:清理和验证电子邮件地址
在下面的示例中,函数用于验证电子邮件。
<?php
function validate_email($email) {
//从电子邮件中删除所有非法字符
$email = filter_var($email, FILTER_SANITIZE_EMAIL);
//验证电子邮件
if (!filter_var($email, FILTER_VALIDATE_EMAIL) === false) {
echo("$email is a valid email address\n");
} else {
echo("$email is not a valid email address\n");
}
}
//验证电子邮件
validate_email("abc@example.com");
validate_email("abc@example");
validate_email("abc@");
?>
上述代码的输出将是:
abc@example.com is a valid email address
abc@example is not a valid email address
abc@ is not a valid email address
示例:清理和验证 URL
在下面的示例中,该函数用于验证给定的 URL。
<?php
function validate_URL($url) {
//删除url中所有非法字符
$url = filter_var($url, FILTER_SANITIZE_URL);
//验证url
if (!filter_var($url, FILTER_VALIDATE_URL) === false) {
echo("$url is a valid URL\n");
} else {
echo("$url is not a valid URL\n");
}
}
//验证 URL
validate_URL("https://www.yxjc123.com");
validate_URL("yxjc123");
?>
上述代码的输出将是:
https://www.yxjc123.com is a valid URL
yxjc123 is not a valid URL
示例:验证 IP 地址
在下面的示例中,该函数用于验证 IP 地址。
<?php
function validate_IP($ip) {
//验证IP地址
if (!filter_var($ip, FILTER_VALIDATE_IP) === false) {
echo("IP address '$ip' is considered valid\n");
} else {
echo("$ip is not a valid IP address\n");
}
}
//验证IP地址
validate_IP("127.0.0.1");
validate_IP("42.42");
?>
上述代码的输出将是:
IP address '127.0.0.1' is considered valid
42.42 is not a valid IP address