什么是最好从/电子邮件验证方法在PHP?
我知道有一种在php编程语言中称为“PREG MATCH”的最佳方法。我想知道是否有任何其他方法在PHP验证?哪个最好?我作为一名职业PHP开发人员练习什么方法?谢谢大家:)什么是最好从/电子邮件验证方法在PHP?
如前所述上面的评论,这是情境。
大多数PHP框架都有自己的电子邮件和其他类型数据的验证方法,但这些方法通常依赖于正则表达式(“PREG MATCH”)并执行额外的检查(如果域中有任何DNS条目,等等。)。
此外,PHP内置函数filter_var()
(http://php.net/manual/en/function.filter-var.php)。如果提供的字符串不是有效的电子邮件地址,它应该返回false
,但不幸的是它并不总是可靠的。
您可以随时使用的Symfony验证程序组件无框架:https://symfony.com/doc/current/validation.html
是的,我喜欢这个答复。非常感谢您提供这些信息。我以前不知道“symfony验证器组件”。谢谢 :) – KabZab
您不能通过查看其格式来确定电子邮件地址是否有效。如果你尝试,你将犯了一个错误,使某些人无法注册,即使使用有效的电子邮件地址。
很容易找到形式为[email protected]
的地址,但[email protected]
呢?那么[email protected]
或任何更新的顶级域名呢?对于每个例子都可以列出的不寻常的地址格式,有一千我甚至没有想过 - 你也不是。
你可以做一个简单的检查,如“这是否包含在某处的@
?”如果你想快速排除某人输入他们的名字而不是他们的电子邮件地址,或者基本的“填写错误的盒子”类错误,但不要试图挑选整个地址是否有效。
如果你真的需要知道,如果电子邮件地址是有效的有一个且只有一个办法做到这一点:发送邮件到它,并有拥有者的(例如,通过单击链接)
没有“最好”。它总是情境化的。 – Quentin
在我看来,最好的方法就是PHP在内部为您提供的一种方法。参见['filter_var()'](http://php.net/filter_var)的示例#1。 –