参见英文答案 >
override jquery validate plugin email address validation 4个
我正在使用以下代码(使用
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”
如何要求域名后缀?
最佳答案
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
},