簡體   English   中英

如何修改正則表達式以正確驗證域?

[英]How can I modify regular expression to validate domain properly?

我發現以下正則表達式:

/[a-z0-9!#$%&'*+\/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+\/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/

在此網站上: http : //www.regular-expressions.info/email.html

而且效果很好(匹配99.99%的實際電子郵件),只有一個例外。 它允許您在域后附加任何內容。

例:

test does not match
test@domain does not match
test@domain.com does match
test@domain.co.uk does match
test@domain.comdsaf#()%@dsf,25ljsafdlfkjj&45234^\/3258afsd still matches

我也只想一次驗證一封電子郵件,因此盡管在電子郵件客戶端中有效,但以下字符串不應匹配:test@domain.com; test2@domain.com

javascript正在使用它。

/[a-z0-9!#$%&'*+\\/=?^_ {|}〜-] +(?:.. [a-z0-9!#$%&'* + / =?^ _ {|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/

我只是在末尾加了美元符號,表示您希望輸入在該點結束。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM