2017-06-27 87 views
1

需要只包含[a-zA-Z0-9.],和後跟@則相同匹配之後,賽前和@之後不應該比長64個字符的任何時間越長,以及至少一個長度。與正則表達式如下規則驗證電子郵件

^([a-zA-Z0-9\-\.]+){1,64}@([a-zA-Z0-9\-\.]){1,64}$ 

這似乎工作,但它有時需要永遠,這是爲什麼?

+2

定義有時需要永遠? –

+0

你能提供一些有效和無效的輸入。 – Tushar

+0

*「那麼同一場比賽之後」 * - 那麼「ABC @ ABC」將是有效的,但「ABC @ AAA」不會? (我真的不認爲這就是你的意思,*但它就是你說的* *)爲什麼「@」左邊的部分同時有'+'*和*'{1,64} '?這允許任意數量的字符。刪除'+',如果你只是想測試「它匹配」,你可以刪除所有的括號。 – nnnnnn

回答

1

我不知道爲什麼你的+操作在正則表達式的第一部分。我希望這能對您有用

^([a-zA-Z\d\.]{1,64})@([a-zA-Z\d\.]{1,64})$

0

對於電子郵件的正則表達式,你應該使用http://emailregex.com/提供這個表達式

/^(([^<>()\[\]\\.,;:\[email protected]"]+(\.[^<>()\[\]\\.,;:\[email protected]"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/ 

此外,如果你可以,你應該平時只使用

<input type="email"> 
+0

您剛剛從另一個解決方案複製了此文件,但這不符合我的要求。 –

相關問題