我正在尋找一個正則表達式驗證電子郵件,瞭解它是否合法或不..我有以下幾點:軌道 - 正則表達式驗證電子郵件
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