代码之家  ›  专栏  ›  技术社区  ›  Eugene

使用PHP filter_var()或正则表达式进行邮件验证

  •  1
  • Eugene  · 技术社区  · 15 年前

    filter_var() 功能。

    如果有人能告诉我 filter_var

    2 回复  |  直到 15 年前
        1
  •  1
  •   Vincent Savard Midhun    15 年前

    正如Mark Byers所说,filter_ar确实验证了任何严格意义上有效的东西,我认为这是一件好事。例如,使用Gmail:
    你的电子邮件地址是something@gmail.com。你想在x.com网站注册。你并不完全信任这个网站,你可以通过电子邮件adresse something+x@gmail.com注册。Gmail自动将其重定向到您自己的收件箱。因此,如果这个不受信任的网站将你的电子邮件地址卖给某人,而你收到的电子邮件地址是+x@gmail.com,你就知道是谁泄露了你的电子邮件地址!

    不管怎样,让我们诚实一点:无论您使用自己的regexp还是filter_validate,我仍然可以编写一个将被验证的假电子邮件地址。您也可以接受任何内容并发送一封“激活您的帐户”电子邮件,以确保用户可以从您的网站接收和阅读电子邮件。

        2
  •  2
  •   Mark Byers    15 年前

    如果你使用 filter_var 它将证实 a@b-.c 严格来说,这是有效的,但你可能不想在你的申请中允许这样的地址。

    如果使用正则表达式,则可以更好地控制允许和禁止的内容。

    不过,验证电子邮件地址最可靠的方法是尝试向其发送电子邮件,并请求收件人单击链接进行确认。这还将有另一个好处-有可能有人在输入电子邮件地址时会犯错误,这样结果仍然是 电子邮件地址,但不是 对的 地址。

    推荐文章