【HAVENT原创】PHP 用 filter_var 函数验证 email 和 url

验证 email 如下:

<?php
$email = "test@test.com";

if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
  var_dump("$email is a valid email address");
} else {
  var_dump("$email is not a valid email address");
}
?>

 

验证 url 如下:

<?php
$url = "http://www.baidu.com";

if (filter_var($url, FILTER_VALIDATE_URL)) {
  var_dump("$url is a valid url");
} else {
  var_dump("$url is not a valid url");
}
?>

 

验证是否为纯数字

<?php
$displayName = '123456789';
if(filter_var($displayName, FILTER_VALIDATE_INT)){ throw new \Exception('Display name can not be just a number.', 10007); } ?>

 

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 地址来验证。
posted @ 2017-08-01 15:21  夜雨流星℡ℑ  Views(326)  Comments(0)    收藏  举报