0

我正在尝试使用 preg_match 验证电子邮件地址。

但我得到这个错误..

警告:preg_match():未知修饰符 '+'

这是我的代码

preg_match("[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?", $email, $matches);

有人可以告诉我我的正则表达式有什么问题吗?

谢谢

4

1 回答 1

2

使用preg_match. 标准是/。如果在表达式中使用分隔符,则必须对其进行转义。

preg_match("/[a-z0-9!#$%&'*+\/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+\/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/", $email, $matches);

你也可以考虑使用

filter_var($email, FILTER_VALIDATE_EMAIL);
于 2013-05-11T14:24:31.143 回答