我总是觉得正则表达式很头疼,谷歌搜索也没什么用。我目前正在使用以下表达式 (preg_match): /^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+ (\.[a-z0-9-]+)*(\.[a-z]{2,3})$/
但是,如果我想允许带有加号的电子邮件,这显然是行不通的,例如:foo+bar@domain.com
我需要如何改变我的表情才能允许它?在此先感谢您的所有帮助!
最佳答案
您应该只使用 PHP 内置的正则表达式进行电子邮件验证,因为它涵盖了所有内容:
filter_var($email, FILTER_VALIDATE_EMAIL)
参见 filter_var
和 FILTER_VALIDATE_EMAIL
(或 https://github.com/php/php-src/blob/master/ext/filter/logical_filters.c#L499 表示真正的野兽)。
关于php - 正则表达式电子邮件 - 如何在电子邮件中允许加号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8369542/