早上,例如,当功能onkeyup返回false时,我想打电话给标签。我设置了jQuery验证器,并设置了一个规则clled
e-mail: {
email:true,
required:true
}
但是我还有另一个函数可以验证电子邮件并返回false如果不正确,如果相反。
function emailvalidate(email_string){
[regex test emailstring]
return true or false //(and show label of jqueryvalidator)
}
现在,当我编写无效的电子邮件jQuery验证器时,请显示一个标签,说 email wrong
,但是我还需要在键或焦点上其他字段上,它将使用我的函数emailvalidate()
测试电子邮件表单值,如果它返回错误,它将显示jQuery验证器插件的消息。STH喜欢
$("#email-field").on("keyup",emailvalidate($("#email-field").val()))
好吧,如果您可以使用此JS验证代码验证
,我对您的插件没有任何了解function ValidateEmail(mail)
{
if(/^w+([.-]?w+)*@w+([.-]?w+)*(.w{2,3})+$/.test(mail))
{
return (true)
}
return (false)
}
$(document).ready(function() {
$("#email-field").on("keyup",function(e){
var mail = $("#email-field").val();
var result = ValidateEmail(mail);
if(result == true){
//do something here
}else{
//do something here
}
return result;
e.preventDefault();
});
});
这是我问题的解决方案,只需在我的现有验证器和功能上添加了一种新方法即可。
jQuery.validator.addMethod("correoval", function(emailAddress) {
var pattern = /^([a-zd!#$%&'*+-/=?^_`{|}~u00A0-uD7FFuF900-uFDCFuFDF0-uFFEF]+(.[a-zd!#$%&'*+-/=?^_`{|}~u00A0-uD7FFuF900-uFDCFuFDF0-uFFEF]+)*|"((([ t]*rn)?[ t]+)?([x01-x08x0bx0cx0e-x1fx7fx21x23-x5bx5d-x7eu00A0-uD7FFuF900-uFDCFuFDF0-uFFEF]|\[x01-x09x0bx0cx0d-x7fu00A0-uD7FFuF900-uFDCFuFDF0-uFFEF]))*(([ t]*rn)?[ t]+)?")@(([a-zdu00A0-uD7FFuF900-uFDCFuFDF0-uFFEF]|[a-zdu00A0-uD7FFuF900-uFDCFuFDF0-uFFEF][a-zd-._~u00A0-uD7FFuF900-uFDCFuFDF0-uFFEF]*[a-zdu00A0-uD7FFuF900-uFDCFuFDF0-uFFEF]).)+([a-zu00A0-uD7FFuF900-uFDCFuFDF0-uFFEF]|[a-zu00A0-uD7FFuF900-uFDCFuFDF0-uFFEF][a-zd-._~u00A0-uD7FFuF900-uFDCFuFDF0-uFFEF]*[a-zu00A0-uD7FFuF900-uFDCFuFDF0-uFFEF]).?$/i;
return pattern.test(emailAddress);
}, "Ingrese una dirección de correo válida");
然后jQueryValidator的规则
$("#MyForm").validate({
rules: {
corrA: {
email: true,
required: true,
correoval:true //this was the method that I added
}