我只是學習使用javascript進行正則表達式匹配,並對下面描述的場景有疑問。使用javascript匹配字符串中任意長度的字符的正則表達式?
我試圖驗證電子郵件,以下條件:
格式應該是
[email protected]
其中
A) 「XXX」, 「YYY」 和 「ZZZ」 部分 只能小寫之間取值a和z
B)ZZZ的長度, YYY和XXX份是任意的(應該是雖然最小的一個)
現在我明白我可以建立這樣的正則表達式: 編輯: 更正REG EXP /[a-z][email protected][a-z]+\.[a-z]+/
和上述評估會像 「[email protected]」 作爲真正的字符串。
但我擔心的是,在上述表達式中,如果我提供了"[email protected]"
,那麼它將再次評估爲真。現在,如果我修改reg ex爲**/[a-z]{1,}@[a-z]+\.[a-z]+/**
,即使那麼它會評估"[email protected]"
爲真,因爲「a」作爲第一個字符的存在。
所以,我想知道如何匹配電子郵件"[email protected]"
中的第一部分「xxx」,它以從第一個字符開始檢查整個字符串直到達到@符號的條件a到z爲有效值。
換句話說,正則表達式不應該在意電子郵件的用戶名部分的長度,並且不管輸入的字符數量多少,都應該根據指定的正則表達式條件對其進行測試,並且應該對該集合進行測試字符從索引1到@的索引。
爲什麼你認爲「[email protected]」將evalute是真的:
您可以在這個網上驗證了在測試這個表情? '/[a-z][email protected][a-z]+\.[a-z]+/.test("[email protected]。com「)=== false'(在@ -sign之後,你在郵件地址部分丟失了一個'+') – Andreas
在輸入問題時,我錯過了+符號編輯了原始問題 –