我想在我的模型文件中使用validates_format_of來驗證電子郵件地址。但是,我需要爲兩個特殊情況輸入兩個正則表達式。基本上,只有少數幾個頂級域名是被允許的。RoR電子郵件驗證 - 多個正則表達式/格式
但是,它似乎根據驗證的源代碼,它只允許一個:格式鍵和一組選項作爲散列值。有沒有辦法使用多個正則表達式。我已經嘗試過邏輯運算符,但它似乎只接受第一個。另外,在同一領域使用兩種驗證方法導致沒有任何事情被接受,因爲一個違反了其他條件
要說明實際條件,說我只想發電子郵件是Gmail或雅虎,沒有別的。我如何使用正則表達式來表示兩者,而不是其他東西?這是我的gmail代碼,它的工作原理如下:
validates_format_of:email,:with =>(/^([^\s]+)@((?:gmail+.)+[az]{2,}) $/i)
如何將其更改爲包含其他頂級域名?
感謝它的工作!而且,在這種情況下,[a-z]約束不是問題。 – thepervysage