2015-10-07 70 views
-2

據我所知,定期(正則表達式)來驗證emailaddresses是:正則表達式驗證(正則表達式)@前面固定emailaddresses

[A-Z0-9a-z._%+-][email protected][A-Za-z0-9.-]+\\.[A-Za-z]{2,6} 

但是有沒有辦法來強制用戶只填寫的一個以下:

[email protected] 
[email protected] 
[email protected] 
[email protected] 
[email protected] 

因此,他們是強制使用管理員,管理員等與他們自己的域一起使用?

我將用它來驗證SSL證書。顯然人們只是填寫廢話,即使它在網站上有明確的解釋。

謝謝。

+1

use(admin | administrator | hostmaster | webmaster | postmaster)@ [A-Z] ...? – ergonaut

回答

1

嗯,你可以用正則表達式傻做到這一點,如:

/^(?:admin|administrator|webmaster)@.../ 

然而,這組冠軍的是東西,你可能需要修改,也許不應該被直接嵌入在低級別的代碼。兩步法會更好。

首先用合適的正則表達式捕獲電子郵件地址的第一部分。例如,你的正則表達式同上,但與捕獲組:

/^([A-Z0-9a-z._%+-]+)@[A-Za-z0-9.-]+\\.[A-Za-z]{2,6}$/ 

然後檢查,看看這第一部分是否出現在允許的單詞列表。

注意:我在這裏迴避了您的原始正則表達式是否合適的問題。它並不完全匹配所有允許的電子郵件地址,但在您的上下文中這可能不是那麼重要。

+0

對不起dan1111,我誤解了。 :| – Joanne