全名和有效电子邮件

时间:2011-05-16 08:51:30

标签: php regex

$string ='"Test User" <test@test.com>,"Another" <another@test.com>,"aeer" <whateveryourmail@gmail.com>';

我已经成功将这段名称和电子邮件地址拆分为此代码

preg_match_all('!"(.*?)"\s+<\s*(.*?)\s*>!', $string, $matches);
问题是,我无法验证电子邮件地址,虚假的电子邮件地址也会匹配。 如何过滤有效的电子邮件,还要拆分姓名和电子邮件地址?

3 个答案:

答案 0 :(得分:5)

您可以使用一些可用的邮件地址解析器,例如:

可选择使用FILTER_VALIDATE_EMAIL通过filter_var()(或一个针对数组的of its permutations)过滤输出。

答案 1 :(得分:1)

电子邮件地址验证可以通过两种方式完成:检查@和a。并假设它是有效的。用户知道他们的电子邮件地址,如果他们输错了,这不是我们的业务。如果你想确定你是一个好的电子邮件地址检查器,那么只有一个正确的正则表达式用于验证:http://www.ex-parrot.com/pdw/Mail-RFC822-Address.html

答案 2 :(得分:0)