我正在尝试使用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);
有人能告诉我我的正则表达式有什么问题吗?
谢谢
当您使用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);