2014-09-26 82 views
2

我已經使用這個正則表達式。 這個腳本不應該允許這樣做:________ @ domain.com如何驗證我的電子郵件ID字段?

請幫我解決這個問題。

"email": { 
      // HTML5 compatible email regex (http://www.whatwg.org/specs/web-apps/current-work/multipage/states-of-the-type-attribute.html# e-mail-state-%28type=email%29) 
      "regex": /^(([^<>()[\]\\.*+,;:\[email protected]\"]+(\.[^<>()[\]\\.,;:\[email protected]\"]+)*)|(\".+\"))@[^-]((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/, 
      "alertText": "* Ex: [email protected]" 
     }, 
+0

找到這個解決方案花了5秒鐘。 https://stackoverflow.com/questions/46155/validate-email-address-in-javascript 評論指出:「這正則表達式消除了有效的,在用的電子郵件。不要使用谷歌的」RFC822「或「RFC2822」得到一個正確的正則表達式「 – Softy 2014-09-26 09:07:44

+0

謝謝你softy ,,給我有效的正則表達式 – Samaskhan 2014-09-26 09:11:51

+0

我需要至少1個字符或數字之前@符號。如何更改以上正則表達式? – Samaskhan 2014-09-26 09:14:24

回答

2

只需添加一個前瞻來匹配在@之前至少有一個數字或字母表的電子郵件地址。

(?=^[^@]*[\dA-Za-z][^@]*@)^(([^<>()[\]\\.*+,;:\[email protected]\"]+(\.[^<>()[\]\\.,;:\[email protected]\"]+)*)|(\".+\"))@[^-]((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$ 

DEMO

這確保至少要包含一個數字和存在於@符號之前的字母。

(?=^[^@]*\d[^@]*@)(?=^[^@]*[A-Za-z][^@]*@)^(([^<>()[\]\\.*+,;:\[email protected]\"]+(\.[^<>()[\]\\.,;:\[email protected]\"]+)*)|(\".+\"))@[^-]((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$ 

DEMO

+0

@Unnihedron他希望匹配的地址在@ – 2014-09-26 09:26:24

+0

之前至少有一個數字,謝謝。它的工作數量很好。但@符號前可以有數字或字母字符。 – Samaskhan 2014-09-26 09:27:51

+0

哇超級thambi kalakkitta – Samaskhan 2014-09-26 09:33:33

0

也許可以是這樣的:\ W +([ - +'] \ W +)@ \ W +([ - ] \ W +) \ W +([ - ] \ W +)*

0

試試這個

/^([\w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0 -9] {1,3})|((\ W - ] +。)+))([A-ZA-Z] {2,4} |。[0-9] {1,3})( ])$ /?;

0

嘗試添加像[A-ZA-Z]在此表達的beggining .. 所以,你必須在進入至少一個alphapet _ ...

"email": {     
        "regex": /^ [A-Za-z](([^<>()[\]\\.*+,;:\[email protected]\"]+(\.[^<>()[\]\\.,;:\[email protected]\"]+)*)|(\".+\"))@[^-]((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/, 
        "alertText": "* Ex: [email protected]" 
       },