簡體   English   中英

電子郵件驗證Javascript RegExp

[英]Email validation Javascript RegExp

借助此RegExp,我可以輕松檢查電子郵件是否有效:

RegExp(/^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/);

但是,對於這樣的地址,這只是返回true:

example@example.com

我也想接受:

*@example.com

我需要對RegExp應用哪些更改?

提前致謝

要從字面上回答您的問題,您可以“增強”您的正則表達式:

RegExp(/^([\w.*-]+@([\w-]+\.)+[\w-]{2,4})?$/);

但這是用於電子郵件驗證的可怕正則表達式。 正則表達式是錯誤的工具 您為什么堅持要這樣做呢

檢查電子郵件地址不是那么簡單,請參閱。 RFC 822,秒6.1

可以在http://www.regular-expressions.info/email.html上找到大量的正則表達式,描述了RFC一致性和實用性之間的折衷。

有兩件事:接受*@foo.bar

var expression = /^([\w-\.*]+@([\w-]+\.)+[\w-]{2,4})?$/;//no need to pass it to the RegExp constructor

但是此表達式確實接受-@-.-- ,但是正則表達式和電子郵件並不是一個很好的朋友。 但是根據您的表情,這是一個不太可靠的版本:

var expression = /^[\w-\.\d*]+@[\w\d]+(\.\w{2,4})$/;

不過,有一個表達式可以驗證網絡上某處的所有有效類型的電子郵件地址。 研究一下,看看為什么正則表達式驗證幾乎總是會排除有效輸入或太寬容

暫無
暫無

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

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