我正在寻找一个正则表达式验证电子邮件,了解它是否合法或不..我有以下几点:轨道 - 正则表达式验证电子邮件
def is_a_valid_email?(email)
email_regex = %r{
^# Start of string
[0-9a-z] # First character
[0-9a-z.+]+ # Middle characters
[0-9a-z] # Last character
@ # Separating @ character
[0-9a-z] # Domain name begin
[0-9a-z.-]+ # Domain name middle
[0-9a-z] # Domain name end
$ # End of string
}xi # Case insensitive
(email =~ email_regex)
end
问题与上面是[email protected]
没有返回当它应该是有效的。任何想法或建议更好的正则表达式?
感谢
我认为下划线问题只是其中的一个,上面的失败会产生误报或负面影响。你真的*需要*验证超越“包含@ @”字符吗?线程[“什么是验证电子邮件地址的最佳正则表达式?”](http://stackoverflow.com/questions/201323/what-is-the-best-regular-expression-for-validating-email-addresses)包含更多细节。 – jensgram 2011-01-22 19:48:49
[Ruby电子邮件检查(RFC 2822)]的可能的重复(http://stackoverflow.com/questions/535600/ruby-email-check-rfc-2822) – kiamlaluno 2013-06-05 02:33:40