• Linux
  • apache
  • centos
  • Git版本管理
  • Linux基本命令
  • linux配置与优化
  • Nginx
  • PHP
  • Redis
  • Supervisor
  • Swoole
  • windows
  • THINKPHP
  • 开发者手册
  • Chat GPT / Open Ai
  • PHP验证邮箱、URL、IP是否合法

    全屏阅读
  • 基本信息
  • 作者:
  • 作者已发布:925篇文章
  • 发布时间:2016年06月12日 14:50:59
  • 所属分类:PHP+MySql
  • 阅读次数:2838次阅读
  • 标签:
  • 以前用PHP验证邮箱、URL、IP是否合法都是通过自己写正则来实现,但是有时候脑子发昏,可能会写出一个不是完全正确的正则,导致验证出错,今天发现原来PHP本身自带了验证邮箱、URL、IP是否合法的函数。

    主要使用的是filter_var函数。

    语法
    filter_var(variable, filter, options)
    参数 描述
    variable 必需。规定要过滤的变量。
    filter 可选。规定要使用的过滤器的 ID。
    options 规定包含标志/选项的数组。检查每个过滤器可能的标志和选项。

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

    Example #1 A filter_var() example

    1
    2
    3
    4
    <?php
    var_dump(filter_var('bob@example.com', FILTER_VALIDATE_EMAIL));
    var_dump(filter_var('http://example.com', FILTER_VALIDATE_URL, FILTER_FLAG_PATH_REQUIRED));
    ?>

    以上例程会输出:

    string(15) "bob@example.com"
    bool(false)

    顶一下
    (0)
    100%
    订阅 回复
    踩一下
    (0)
    100%
    » 郑重声明:本文由mpxq168发布,所有内容仅代表个人观点。版权归恒富网mpxq168共有,欢迎转载, 但未经作者同意必须保留此段声明,并给出文章连接,否则保留追究法律责任的权利! 如果本文侵犯了您的权益,请留言。
  • 【上一篇】
  • 【下一篇】
  • 目前有 0 条留言 其中:访客:0 条, 博主:0 条

    给我留言

    您必须 [ 登录 ] 才能发表留言!