我有這樣的正則運算式,用于有效的電子郵件地址,效果很好。^(?=[ws])s*[- .'w] @[-.w] .[-.w]{2,}s*$
然而,用戶有時會輸入類似 "[email protected] "的地址。我可以從我的重詞中排除 "co",但我仍然希望允許 "[email protected]",看這里。
我看了一下這個帖子,但我不知道如何在我當前運算式的[-.w]{2,}部分包含這個內容。
我怎樣才能改變我的正則運算式,使其不允許在電子郵件地址的末尾出現".co "呢?
uj5u.com熱心網友回復:
你可以把這個模式寫成:
你可以把這個模式寫成沒有開頭的lookahead
^s*[- .'w] @w (?:[-.]w )*. (?!cos*$) [a-z]{2,}s*$
注意,[- . 'w]和w限制了有效電子郵件地址的范圍。
該模式匹配:
^字串的開始s*[- . 'w] @匹配可選的空白字符,并重復字符類中任何列出的字符,直至匹配@w (?:[-.]w )*在@之后開始匹配1個以上的單詞字符,并可選擇重復.或-和1個以上單詞字符 。
.(?!cos*$)匹配一個點,并使用一個負的lookahead斷言不co和可選的空白字符,直到strinng的結束 。
[a-z]{2,}s*匹配2個或更多的字符a-z和可選的空白字符 。
$字串的結束 。
請看Regex演示
如果你不想允許匹配領先的空白字符,你可以從模式的開始和結束處省略s*。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/313417.html
標籤:
下一篇:右對齊HTML電子郵件
