2013-05-08 13 views
1

我我user.rb模型中使用此如何驗證註冊期間使用的電子郵件以特定格式結束?

VALID_EMAIL_REGEX = /\A[\w+\-.][email protected][a-z\d\-.]+\.[a-z]+\z/i 
validates :email, presence: true, format: { with: VALID_EMAIL_REGEX }, 
        uniqueness: { case_sensitive: false } 

不過,我想只允許特定的電子郵件地址。例如,電子郵件地址以.org結尾。我怎樣才能正確地驗證它?

我只希望允許在.org 包括@department.xyz.org,基本上任何變化這是結束的所有電子郵件地址@之間.org

回答

1

(前面的答案):

exp = /\A[\w+\-.][email protected][a-z\d\-.\.]*xyz\.com\z/i 

"[email protected]" =~ exp 
=> nil 
"[email protected]" =~ exp 
=> 0 
"[email protected]" =~ exp 
=> 0 

,只得到以org結尾的電子郵件:

exp = /\A[\w+\-.][email protected][a-z\d\-.]+\.org\z/i 
=> /\A[\w+\-.][email protected][a-z\d\-.]+\.org\z/i 
"[email protected]" =~ exp 
=> nil 
"[email protected]" =~ exp 
=> 0 
+0

我對我的問題做了一個快速更新 更具體。那麼如果它只是.org呢?我只想要允許.org電子郵件地址。我不需要xyz驗證 – user2159586 2013-05-08 20:24:34

+0

@ user2159586編輯我的問題與其他正則表達式 – fotanus 2013-05-08 20:26:29

+0

供將來參考,如果我想擴大並允許以'.ac.uk'結尾的電子郵件地址,我該如何添加到該正則表達式? – user2159586 2013-05-08 20:30:28

相關問題