我試圖實現this(頁面底部的那個)RegExp,以驗證jQuery驗證插件的電子郵件地址。這封電子郵件RegExp有什麼問題?
這是我的代碼:
$.validator.addMethod("email_address", function(value, element, param) {
var email_regexp = new RegExp("[a-z0-9!#$%&'*+/=?^_{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_{|}~-]+)*@(?:a-z0-9?.)+(?:[A-Z]{2}|com|org|net|edu|gov|mil|biz|info|mobi|name|aero|asia|jobs|museum)\b", "g");
var result = value.match(email_regexp);
return result ? result.length >= param : false;
}, "Invalid email address");
沒有JS錯誤顯示,它仍然不驗證什麼!一直玩它像一個小時,不能得到這個工作!
有什麼問題嗎?
編輯:我也//
分隔符嘗試:
$.validator.addMethod("email_address", function(value, element, param) {
var result = value.match(/[a-z0-9!#$%&'*+/=?^_{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_{|}~-]+)*@(?:a-z0-9?.)+(?:[A-Z]{2}|com|org|net|edu|gov|mil|biz|info|mobi|name|aero|asia|jobs|museum)\b/g);
return result ? result.length >= param : false;
}, "Invalid email address");
有什麼不對的電子郵件正則表達式?這是一個電子郵件正則表達式。這是錯的。我建議你停止「玩」,並開始一些有條不紊的調試!當你有步驟和結果向我們展示時回來。一小時不是一個很長的時間來解決問題。 –
[停止使用您的複雜正則表達式驗證電子郵件地址](http://davidcel.is/blog/2012/09/06/stop-validating-email-addresses-with-regex/) –
是的。電子郵件地址對於正則表達式太複雜。雖然他們是一種常規語言,但對於一種表達而言太多了。 –