Ruby,Rails - 如何检查var是否是电子邮件

AnA*_*ice 2 ruby validation ruby-on-rails email-validation ruby-on-rails-3

如果var是EMAIL ADDRESS,Rails 3或Ruby是否有内置的方式来返回true或false?

1 returns false
dadadad@asdasd.net returns true
blah+asdasds@asdasd.net returns true
asdasdasdads returns false
Run Code Online (Sandbox Code Playgroud)

也许是这样的,如果1.is_a?电邮结束

谢谢

AnA*_*ice 7

我最终使用了Rails gem,EmailVeracity,效果很好


Aus*_*n M 5

像这样的东西应该有效:

def isEmail(str)
  return str.match(/[a-zA-Z0-9._%]@(?:[a-zA-Z0-9]\.)[a-zA-Z]{2,4}/)
end
Run Code Online (Sandbox Code Playgroud)

  • 这不适用于大多数域,因为您允许域名仅为单个字母,例如 foo@a.com。也许你想写这个:`/[a-zA-Z0-9._%]@(?:[a-zA-Z0-9]+\.)[a-zA-Z]{2,4 }/` (4认同)
  • @Andrew那么如果我可以使用正则表达式我应该使用什么? (2认同)