Ruby电子邮件检查(RFC 2822)

7 ruby regex email

有谁知道Ruby中的正则表达式是验证电子邮件地址是否采用适当的RFC 2822电子邮件格式?

我想做的是:

string.match(RFC_2822_REGEX)
Run Code Online (Sandbox Code Playgroud)

其中"RFC_2822_REGEX"是正则表达式,用于验证我的字符串是否为有效的RFC 2882格式.

Wol*_*ang 12

您可以使用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
Run Code Online (Sandbox Code Playgroud)

这将检查是否提供了电子邮件,即返回false空地址并检查该地址是否包含域.