0
我想通過正則表達式驗證許多郵件(一個或多個),但此屬性不屬於任何模型。所以我寫了一個方法:匹配方法的正則表達式問題
def emails_are_valid?(emails)
#regex with validation
regex = Regexp.new("^(\s*[a-zA-Z0-9\._%-][email protected][a-zA-Z0-9\.-]+\.[a-zA-Z]{2,4}\s*([,]{1}[\s]*[a-zA-Z0-9\._%-][email protected][a-zA-Z0-9\.-]+\.[a-zA-Z]{2,4}\s*)*)$")
#if the quantity of emails is zero o its validations is bad return false.
if emails.blank? || emails.match(regex).nil?
return false
else
return true
end
end
我評價這個字符串[email protected] AA,[email protected]當 我http://www.rubular.com/測試這個表達式是不好的(不匹配)。 所以根據這個頁面,我的正則表達式可以。
但是當我評估emails.match(正則表達式).nil?返回我false(所以字符串是有效的,但這個字符串是壞)
請我需要幫助。我的正則表達式不好或我的emails_are_valid?方法不好或匹配方法不好。
在此先感謝。
這將是對你有好處閱讀(HTTP [正則表達式識別電子郵件地址硬的?]://計算器。 com/q/156430/128421),並看看你是否真的想試圖使用正則表達式來驗證電子郵件地址,或者只是發現電子郵件是否會實際發送到一個地址。區別在於地址看起來不錯,或者有一個你知道的地址是好的。 [搜索StackOverflow](http://stackoverflow.com/search?q=%2Bregex+%2Bemail)的類似問題。 – 2011-02-17 18:03:05
@ The Tin Man我想驗證格式,我想驗證郵件格式和逗號分隔列表,不管它們和逗號之間的空間大小。但是,當我放置一個空格+歌詞+昏迷+ other_mail匹配方法返回,如果它是正確的 – maxiperez 2011-02-17 18:07:49