我遇到了一個體面的電子郵件正則表達式的描述。Javascript電子郵件正則表達式
/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/
但我也想加入一些標點符號到電子郵件中的第一部分,同時保留了其他的功能(如無重複。)
我想出了這樣最好很遠的是:
([\/!#$%&'*+-=?^_`{|}~]*\w+)([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,40})+$
但是這不會允許在電子郵件的第一部分結束時標點符號。
我覺得正則表達式很混亂,有誰知道如何正確實現這個?
例子:
Yes [email protected]
Yes [email protected]
Yes [email protected]
Yes [email protected]
Yes [email protected]
Yes [email protected][123.123.123.123]
Yes "email"@domain.com
Yes [email protected]
Yes [email protected]
Yes [email protected]
Yes [email protected]
Yes [email protected]
Yes [email protected]
No plainaddress
No #@%^%#[email protected]#[email protected]#.com
No @domain.com
No Joe Smith <[email protected]>
No [email protected]@domain.com
No [email protected]
No [email protected]
No [email protected]
No あいうえお@domain.com
No [email protected] (Joe Smith)
No [email protected]
No [email protected]
No [email protected]
你能提供樣本輸入嗎? – anubhava
我可以給出的最佳提示是:用正則表達式開始小(只是基本的),並從那裏展開。這使你控制你在做什麼而不是像方法trial – 321X
試用錯誤看看這個線程[在JavaScript驗證電子郵件地址](http://stackoverflow.com/questions/46155/validate-email-address -in-javascript) – Klante