2015-05-13 69 views
0

根據Struts2的文檔(https://struts.apache.org/docs/email-validator.html),下面是用於電子郵件驗證的正則表達式:Struts使用哪種郵件驗證RegEx?

\\b^['_a-z0-9-\\+](\\.['_a-z0-9-\\+])@[a-z0-9-](\\.[a-z0-9-])\\.([a-z]{2}|aero|arpa|asia|biz|com|coop|edu|gov|info|int|jobs|mil|mobi|museum|name|nato|net|org|pro|tel|travel|xxx)$\\b 

然而,這正則表達式似乎只匹配形式XY @ zwcom(即單詞字符的字符串然後是一個點,然後是另一個字符,在@符號的兩側)。我已經使用

testString.matches(regex) 

方法,其中正則表達式是上面的一個證實了它。

有人可以證實,如果這種形式確實是正則表達式匹配或指向我Struts使用正則表達式正確?

+1

https://github.com/apache/struts/blob/develop/xwork-core/src/main/java/com/opensymphony/xwork2/validator/validators/EmailValidator.java#L83。 –

回答

-2

你可以試試^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$

+1

問題不在於「什麼是一個好的電子郵件驗證正則表達式?」,而是「什麼是struts使用的正確的正則表達式?」。 –