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

我想做的是:

string.match(RFC_2822_REGEX)

其中“RFC_2822_REGEX”是用于验证我的字符串是否为有效 RFC 2882 形式的正则表达式。

最佳答案

您可以使用 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 并检查该地址是否包含域。

10-08 19:22