Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用jquery验证插件仅允许gmail.com作为我电子邮件字段中的域进行验证?_Jquery_Jquery Validate - Fatal编程技术网

如何使用jquery验证插件仅允许gmail.com作为我电子邮件字段中的域进行验证?

如何使用jquery验证插件仅允许gmail.com作为我电子邮件字段中的域进行验证?,jquery,jquery-validate,Jquery,Jquery Validate,如何使用jquery验证插件仅允许gmail.com作为我电子邮件字段中的域进行验证 $("#myForm").validate({ rules: { myemail: { required: true, email: true, } } }); 您必须编写一个正则表达式来接受以“gmail.com”结尾的字符串 在此处查看Gmail地址上的regex: 在此处查看如何添加regexp验证: 你可以像下面这样接受gmail,注意我添加了忽略.o

如何使用jquery验证插件仅允许gmail.com作为我电子邮件字段中的域进行验证

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

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

在此处查看Gmail地址上的regex:

在此处查看如何添加regexp验证:


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

\w*\@(?!org)(?!net)[g][m][a][i][l]
根据Sparky的进行编辑:大写字母和三个字母的电子邮件名称@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;
    }
});

});
从中获取Gmail正则表达式,并在中使用它创建一个名为“Gmail”的新自定义规则

无论是在
.addMethod()
方法之前还是之后调用
.validate()
,都没有关系


演示:

要限制到gmail,必须有一个特定的用例场景,所以通常您只想编写一个正则表达式。请参考此链接,这里有一个Solution@babtech,请奖励回答正确的人。事实上,这不起作用,对不起。我用一个在stackoverflow上已经解决的问题更新了我的答案。有人能为这个添加一把小提琴吗
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
        }
    }
});