符合RFC 2821的电子邮件验证

时间:2015-08-14 10:29:56

标签: php regex

我现在搜索了一段时间,只找到了其他RFC标准的现成解决方案。另外我认为函数filter_var中的PHP构建也不适合我,因为(根据PHP.net)FILTER_VALIDATE_EMAIL常量只能检查RFC 822地址。

我只发现了这个JAVA正则表达式:

(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])

但是在尝试用我的业余Java技能将这个mosnter翻译成PHP之前我宁愿在论坛上问这个..

到目前为止,我使用以下(不完整)正则表达式:

/^[a-zA-Z0-9-\!\\\\\$\&\*\=\^\`\|\~\#\%\'\+\/\?\_\{\}]{2,}[@][a-zA-Z0-9-]{2,}\.[a-zA-Z]{2,}$/

根据 RFC 2821 检查电子邮件地址的相应正则表达式是什么?

0 个答案:

没有答案