PHP利用自带的函数验证参数是否合法

发布于 / PHP / Comments Off on PHP利用自带的函数验证参数是否合法

有的时候为了验证数据的正确性,我们必须使用正则表达式,而PHP实际上是自带验证函数的,我们可以不需要使用麻烦的正则表达式,方便的进行验证数据的合法性。

语法: filter_var(待过滤的变量,过滤器)

下面是过滤器列表:

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

例如

if (!filter_var($mail, FILTER_VALIDATE_EMAIL)){
    echo "alert(\"邮箱不合法,请检查,然后再试一次\");";
    return;
  }

转载原创文章请注明,转载自: 斐斐のBlog » PHP利用自带的函数验证参数是否合法
评论已关闭