我试图实现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/) –
是的。电子邮件地址对于正则表达式太复杂。虽然他们是一种常规语言,但对于一种表达而言太多了。 –