有人知道在Ruby中验证电子邮件地址是否符合RFC 2822电子邮件格式的正则表达式吗?
我想做的是:
string.match(RFC_2822_REGEX)
其中“RFC_2822_REGEX”是验证字符串是否符合有效的RFC 2822格式的正则表达式。
您可以使用mail gem来解析任何符合RFC2822标准的字符串,方法如下:
def valid_email( value )
begin
return false if value == ''
parsed = Mail::Address.new( value )
return parsed.address == value && parsed.local != parsed.address
rescue Mail::Field::ParseError
return false
end
end
此代码用于判断是否提供了电子邮件地址,即对于空地址返回 false
,并检查地址是否包含域名。
http://theshed.hezmatt.org/email-address-validator
该工具基于RFC2822规则进行正则表达式验证(这是一个庞大的正则表达式),还可以检查域名在DNS中是否有效(是否有MX或A记录),并进行测试交付以验证该域名的MX是否接受给定地址的消息。这后两个检查是可选的。