我正在使用以下代码(使用jQuery Validation Plugin)来验证电子邮件地址:
$(".schedule-tour-form").validate({
rules: {
Email: {
required: true,
email: true
}
},
});
<input id="email" name="Email" class="email" type="email" placeholder="name@email.com" />
问题是它仍然允许没有域名后缀的电子邮件。例如,它验证“test @ test” 如何要求域名后缀?
答案 0 :(得分:2)
official page of plugin,甚至将test@test
视为有效邮件,我想这是有意的。您可以使用严格的正则表达式模式创建新规则,如建议here。
//custom validation rule
$.validator.addMethod("customemail",
function(value, element) {
return /^([a-zA-Z0-9_.-+])+\@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/.test(value);
},
"Sorry, I've enabled very strict email validation"
);
然后按照规则添加:
rules: {
email: {
required: {
depends:function(){
$(this).val($.trim($(this).val()));
return true;
}
},
customemail: true
},