【问题标题】:How can I allow only gmail.com as domain in my email field validating using jquery-validation plugin?如何使用 jquery-validation 插件在我的电子邮件字段验证中只允许 gmail.com 作为域?
【发布时间】:2013-12-02 16:43:04
【问题描述】:

如何在使用 jquery-validation 插件验证的电子邮件字段中只允许 gmail.com 作为域?

$("#myForm").validate({
rules: {
    myemail: {
        required: true,
        email: true,
    }
}
});

【问题讨论】:

  • 要限制到gmail必须有一个特定的用例场景,所以通常你只想写一个正则表达式。
  • stackoverflow.com/questions/12514382/… 参考这个链接 有解决办法
  • @babtech,请给答对的人奖励

标签: jquery jquery-validate


【解决方案1】:

您必须编写一个接受以“gmail.com”结尾的字符串的正则表达式

在此处检查 Gmail 地址的正则表达式:

Regular Expression - Validate Gmail addresses

在此处查看如何添加正则表达式验证:

jQuery validate: How to add a rule for regular expression validation?

【讨论】:

  • 实际上没有用,抱歉。我用 stackoverflow 上已经解决的问题更新了我的答案。
  • 有人可以为此添加一个小提琴
【解决方案2】:

您可以像下面这样接受 gmail,请注意我添加了它以忽略 .org 和 .net,您可以继续调整您的正则表达式,使其完全符合您的要求。

\w*\@(?!org)(?!net)[g][m][a][i][l]

基于 Sparky 的编辑:CASE -- 大写和 3 个字母的电子邮件名称@gmail.com

$(document).ready(function () {

jQuery.validator.addMethod('gmail', function (value, element) {
    return this.optional(element) || /^[a-z0-9](\.?[a-z0-9]){3,}@[Gg][Mm][Aa][Ii][Ll]\.com$/i.test(value);
}, "not a valid Gmail email address");

$('#myform').validate({
    rules: {
        field1: {
            required: true,
            gmail: true
        }
    },
    submitHandler: function (form) { // for demo
        alert('valid form');
        return false;
    }
});

});

【讨论】:

    【解决方案3】:

    this answer 获取Gmail 正则表达式并在the addMethod method 中使用它来创建一个名为“gmail”的新自定义规则...

    jQuery.validator.addMethod('gmail', function (value, element) {
        return this.optional(element) || /^[a-z0-9](\.?[a-z0-9]){5,}@gmail\.com$/i.test(value);
    }, "not a valid Gmail email address");
    
    $("#myForm").validate({
        rules: {
            myemail: {
                required: true,
                gmail: true
            }
        }
    });
    

    .addMethod() 方法之前或之后调用.validate() 都没有关系。

    演示:http://jsfiddle.net/fPFpF/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-07
      相关资源
      最近更新 更多