【发布时间】:2013-05-11 14:22:15
【问题描述】:
我正在尝试使用 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);
谁能告诉我我的正则表达式有什么问题?
谢谢
【问题讨论】:
-
我强烈建议您不要自己编写此代码。 code.google.com/p/php-email-address-validation/source/browse/…
-
即使
space是电子邮件中的有效字符。要点是不要使用正则表达式来解析电子邮件。就像.*@.*这样简单就可以了 -
您可以在
@的右侧进行更严格的限制,它必须是一个有效的域名,但是是的,几乎所有内容都在左侧。
标签: php regex preg-match