2012-11-16 31 views
0

我有以下的正則表達式驗證電子郵件在java中正則表達式電子郵件驗證長度

^[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@([a-zA-Z0- 9!#$%&'*+/=?^_`{|}~-]+(\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*|\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])$ 

我要檢查電子郵件不應該超過255個字符,我該怎麼做呢?
謝謝

+3

* 「我要檢查電子郵件不應該超過255個字符,我該怎麼做呢?」 *單獨。 –

+3

你不能使用String.length()? – PermGenError

+0

爲什麼不使用'emailAddress.length()<= 255'? – Vicki

回答

6

保持簡單。

if (yourString.length() <= 255 && yourString.matches(YOUR_REGEX))

+2

*技術上*,你想'<= 255'。 OP表示長度不應超過* 255個字符。 –

+0

^編輯。感謝您的提醒。 –

1

我不會用正則表達式比一個簡單的完整性檢查(它有一個「@」和東西,看起來像一個頂級域名,也許)這等,以及一個簡單的字符串長度檢查。

完全符合郵件地址的正則表達式是immense。你真的不想去那裏。

1

如果你真的想延長有關長度的正則表達式,你可以在前面加上一個超前的表達是這樣的:

^(?=.{255}$) 

結果:

=> ^(?=.{255}$)[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+............ 
0

要完成Zhonk響應: ^( [A-Za-z0-9 .-] +。[A-Za-z] {2,6}

[A-Z0-9a-z._%+ - ] +
4

這個正則表達式適用於所有可能的電子郵件模式和不同的域。

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

相應的正則表達式是:

(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\]) 
+0

@KRUPA Super ...適用於驗證不同域的電子郵件模式 – Shastry

相關問題