Regex 如何允许+&引用;电子邮件验证中的字符?

Regex 如何允许+&引用;电子邮件验证中的字符?,regex,validation,Regex,Validation,我们使用validate.js插件进行表单验证。我想在email字段中允许“+”,这样我就可以在Gmail中使用多个测试帐户。但是,插件验证不允许这样做 我对正则表达式不是很在行,我如何修改下面的内容以允许+字符?(我试着去那个评论过的URL,但页面似乎已经不存在了。) 这是一个非常糟糕的正则表达式。它不仅太长太复杂,而且出于某种原因,作者认为在[…]字符类中转义字符是个好主意,这是绝对不应该做的 相反,试试这个正则表达式,来自(这些家伙知道他们的正则表达式) 我也同意的意见-不要使用复杂的正则

我们使用validate.js插件进行表单验证。我想在email字段中允许“+”,这样我就可以在Gmail中使用多个测试帐户。但是,插件验证不允许这样做

我对正则表达式不是很在行,我如何修改下面的内容以允许+字符?(我试着去那个评论过的URL,但页面似乎已经不存在了。)


这是一个非常糟糕的正则表达式。它不仅太长太复杂,而且出于某种原因,作者认为在
[…]
字符类中转义字符是个好主意,这是绝对不应该做的

相反,试试这个正则表达式,来自(这些家伙知道他们的正则表达式)


我也同意的意见-不要使用复杂的正则表达式验证电子邮件地址。即使是我建议的,对于今天的大多数应用程序来说,也过于苛刻了。

!顺便说一句,为什么不问问斯科特?天哪,这正是你的正则表达式。这个表达式就像一台Rube Goldberg机器。从上面你发布的内容来看,我如何允许+字符?还是你的已经允许了?我对regex毫无希望。我不会投反对票,但老实说,Bergi的评论是迄今为止最明智的答案。即使是这个表达方式也很复杂。
    email: function( value, element ) {
        // contributed by Scott Gonzalez: http://projects.scottsplayground.com/email_address_validation/
        return this.optional(element) || /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i.test(value);
    },
/[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/i