我想使用一個正則運算式代碼,它不允許中間有兩個句點(。),以句點(。)結尾,或者以句點(。)開頭的“名稱”([email protected])電子郵件。對于我的一個負面案例示例,我測驗了 [email protected] 并且它仍在接受該電子郵件。在我的代碼中,我添加(?!.*\.$)了不應允許句點結束的代碼(。)。
這是我正在使用的正則運算式代碼:
^(?!\.)(?!.*\.$)(?!.*\.\.)[-a-zA-Z0-9._% -] \@(?!\.)(?!.*\.$)(?!.*\.\.)[-a-zA-Z0-9._% -] [^.] \.(?=.*[a-zA-Z].*[a-zA-Z])[a-zA-Z0-9._% -] $
正面案例示例:
- [email protected]
- test.test [email protected]
負面案例示例:
- [email protected]
- 測驗[email protected]
- [email protected](這是允許但不應該的情況)
uj5u.com熱心網友回復:
您可以添加一個否定的環視來檢查與符號之前沒有點的情況(?<!\.)\@:
^(?!\.)(?!.*\.$)(?!.*\.\.)[-a-zA-Z0-9._% -] (?<!\.)\@(?!\.)(?!.*\.$)(?!.*\.\.)[-a-zA-Z0-9._% -] [^.] \.(?=.*[a-zA-Z].*[a-zA-Z])[a-zA-Z0-9._% -] $
在此處查看演示。
uj5u.com熱心網友回復:
您需要在正則運算式的開頭將 $ 替換為 @:
(?!.*\.$) -> (?!.*\.@)
這將匹配 @ 符號之前的點。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/486157.html
