我正在使用下面的代码
$(function() {
$("#myForm").validate({
rules: {
experience: {
required: true,
regex: '^[0-9]$'
}
},
messages: {
experience: {
required: "Please provide experience",
regex: "Provide a valid input for experience"
}
}
});
});
但是上面的代码没有将2或22作为有效输入?我做错了什么?需要帮助...
尝试使用这个正则表达式:
^[0-9]+$
然后将其放入代码中:
$(function() {
$.validator.addMethod("regex", function(value, element, regexpr) {
return regexpr.test(value);
}, "Please enter a valid pasword.");
$("#myForm").validate({
rules: {
experience: {
required: true,
regex: /^[0-9]+$/
}
}
});
});
这是一个工作演示:
验证jquery中没有正则表达式方法: 您必须创建自己的正则表达式方法
您需要使用
addmethod
$.validator.addMethod("regx", function(value, element, regexpr) {
return regexpr.test(value);
}, "Provide a valid input for experience.");
您的职能:
$(function() {
$("#myForm").validate({
rules: {
experience: {
required: true,
regex: /^[0-9]$/
}
},
messages: {
experience: {
required: "Please provide experience",
}
}
});
});
就我而言,我的电子邮件字段有自己的正则表达式模式数据,例如
<input id="email" name="email" data-val-regex-pattern="^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$">
这与我为 JQuery Validation 插件注入的模式冲突。我刚刚删除了这个数据属性并且它起作用了。
您可以在 jQuery 的 .validate() 形式中使用“pattern”关键字代替“regex”。以下是示例代码:
$('#registerForm').validate({
rules: {
"customer[is_seller]": {
required:true
},
"customer[fname]": {
required:true,
pattern:/^[A-Za-z]+$/
},
"customer[lname]": {
required:true,
pattern:/^[A-Za-z\s]+$/
},
"customer[email]": {
required:true,
email:true
},
"customer[password]": {
required:true
}
},
messages:{
"customer[is_seller]": {
required:"Please select Your category"
},
"customer[fname]": {
required:"Please enter first name.",
pattern:"Special characters not allowed"
},
"customer[lname]": {
required:"Please enter last name."
pattern:"Special characters not allowed"
},
"customer[email]":{
required:"Email Id is required",
email:"Please enter a valid email."
},
"customer[password]":{
required:"Password is required"
}
}
});