什么是最好的/电子邮件验证方法在PHP?

时间:2016-08-04 14:05:46

标签: php validation email

我知道有一种最好的方法叫做" PREG MATCH"在PHP编程语言中。我想知道php中还有其他方法可用于验证吗?哪个最好?我作为专业php开发人员练习的方法是什么?谢谢大家:))

2 个答案:

答案 0 :(得分:0)

通过查看其格式,您无法确定电子邮件地址是否有效。如果您尝试, 会犯错误,即使使用有效的电子邮件地址,某些人也无法注册。

查找something@example.com表格的地址很容易,但something.something+else@foo.bar.baz.example.com怎么办?那么something@example.money或任何较新的顶级域名呢?对于每个例子都可以列出一个不寻常的地址格式,有一千个我甚至都没想到 - 而你也不是。

您可以执行一项简单的检查,例如“它在某处包含@吗?”如果你想快速排除某人输入他们的名字而不是他们的电子邮件地址,或者基本的“填错了框”的错误,但不要试图挑剔整个地址是否有效。

如果您确实需要知道电子邮件地址是否有效,则只有一种方法可以执行此操作:向其发送电子邮件,并让所有者回复(例如,通过点击链接)

答案 1 :(得分:0)

如上文评论所述,这是情境性的。

大多数PHP框架都有自己的电子邮件和其他类型数据的验证方法,但这些方法通常依赖于正则表达式(“PREG MATCH”)并进行额外的检查(如果域有任何DNS条目,等等) )。

此外,PHP具有内置函数filter_var()http://php.net/manual/en/function.filter-var.php)。如果提供的字符串不是有效的电子邮件地址,它应该返回false,但不幸的是它并不总是可靠的。

您可以始终使用没有框架的Symfony Validator组件:https://symfony.com/doc/current/validation.html