[英]Fix Regular Expression for Emails to Not allow Consecutive Periods
我的常規表達非常糟糕所以我認為會尋求一些幫助。
我有一個正則表達式:
/[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/;
它適用於我的電子郵件驗證的大多數情況,但它允許這一個通過:
test..testing @ gmail.com
如何將上述正則表達式更改為不允許整個字符串中的連續句點?
謝謝。
要避免匹配兩個連續的點,您可以在正則表達式的開頭添加負向前瞻:
/^(?!.*\.{2})[a-z0-9etc...
------------
如果字符串中有兩個連續的句點,並且不需要對原始正則表達式進行任何其他修改,則它將無法匹配。
然而,這似乎是一個壞主意,因為你的正則表達式首先是不正確的。 如果您堅持使用正則表達式來驗證電子郵件地址,請嘗試以下操作:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.