2017-10-18 139 views
0

关于jQuery .validate插件,我想添加/编辑/替换到电子邮件的方法,以适应两个额外的规则/条件。编辑/添加到jQuery验证电子邮件方法规则?

电子邮件方式(可以在这里进行测试:https://jqueryvalidation.org/email-method/)允许以下通过,但我希望他们失败:

  • 测试@ test.com
  • 测试@测试

我该如何做到这一点?

+0

在乘坐其作为文档例子https://jqueryvalidation.org/jQuery.validator。方法/ – charlietfl

+0

或使用'$ .validator.addMethod()' – charlietfl

+0

创建自己的自定义名称我找到了“email”规则,所以现在我被困在正确的正则表达式中。 “email”规则是/^[a-zA-Z0-9。!#$%&'* + \/=?^ _'{|}〜 - ] + @ [a-zA-Z0-9]( ?:[A-ZA-Z0-9 - ] {0,61} [A-ZA-Z0-9])(?:??\ [A-ZA-Z0-9](在[a-ZA- Z0-9 - ] {0,61} [a-zA-Z0-9])?)* $/ – Warren

回答

0

正如@charlietfl所说,重写它。

我的新方法是:

$.validator.addMethod('betterEmail', function (value, element) { 
      return this.optional(element) || /^(([^<>()\[\]\\.,;:\[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,}))$/.test(value); 
     }, "Please enter a valid email address."); 

而且我现在的规则是这样的:

rules: { 
     email:  {betterEmail: true} 
     }