jquery.validate.js需要域名后缀的电子邮件验证

时间:2014-10-30 10:00:07

标签: jquery jquery-validate

我正在使用JörnZaefferer的jquery.validate.js。

使用以下代码完美设置所有验证:

$("#homeForm").validate({
    rules: {
          email: {
                   required: true,
                   email: true                             
          },
          mobile:{
                  required:true,
                  minlength:11,
                  maxlength:11,
          }
    },
 });

我的问题是默认的电子邮件验证将允许用户省略域后缀,例如test @ test已成功验证...

我希望我的电子邮件验证要求用户包含他们输入的电子邮件的域名后缀(.com,.co.uk ETC)

有没有人能解决这个问题?非常感谢...

1 个答案:

答案 0 :(得分:-2)

所以我似乎找到了一个通过.js文件进行一点挖掘的解决方案:

我更改了默认电子邮件规则:

        email: function(a, b) {
            return this.optional(b) || /^[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])?)*$/.test(a)
        },

为:

        email: function(a, b) {
            return this.optional(b) || /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/.test(a)
        },

它现在完美,有点奇怪的bug但我希望这有助于其他发现同样问题的人