Jan*_*ník 1 javascript validation jquery
我具有自定义的jQuery验证功能,但无法按照我的意愿使其工作:如果element为空,则我不想对其进行验证,但是如果它不为空,则要检查值是否正确。
我的自定义函数如下所示:
$.validator.addMethod("phoneCZ", function(phone_number, element) {
phone_number = phone_number.replace(/\s+/g, "");
if(!phone_number.match(/^((\+420)|(\+421))??[0-9]{3}?[0-9]{3}?[0-9]{3}$/)){
return (phone_number.length < 1);
}
else {
return (phone_number.length >= 9);
}
}, "Neplatné telefonní ?íslo");
Run Code Online (Sandbox Code Playgroud)
也许只是一些描述:允许的格式为:123456789 +420123456789 +421123456789
如果数字的格式不正确,则返回true,如果长度为0,则返回false。我的格式是否匹配,我检查长度是否至少为9个字符。
有一种称为的方法optional可以让您执行此操作
$.validator.addMethod("phoneCZ", function (phone_number, element) {
if (this.optional(element)) {
return true;
}
phone_number = phone_number.replace(/\s+/g, "");
if (!phone_number.match(/^((\+420)|(\+421))??[0-9]{3}?[0-9]{3}?[0-9]{3}$/)) {
return (phone_number.length < 1);
} else {
return (phone_number.length >= 9);
}
}, "Neplatné telefonní ?íslo");
Run Code Online (Sandbox Code Playgroud)
演示:
$.validator.addMethod("phoneCZ", function (phone_number, element) {
if (this.optional(element)) {
return true;
}
phone_number = phone_number.replace(/\s+/g, "");
if (!phone_number.match(/^((\+420)|(\+421))??[0-9]{3}?[0-9]{3}?[0-9]{3}$/)) {
return (phone_number.length < 1);
} else {
return (phone_number.length >= 9);
}
}, "Neplatné telefonní ?íslo");
Run Code Online (Sandbox Code Playgroud)
$.validator.addMethod("phoneCZ", function(phone_number, element) {
if (this.optional(element)) {
return true;
}
phone_number = phone_number.replace(/\s+/g, "");
if (!phone_number.match(/^((\+420)|(\+421))??[0-9]{3}?[0-9]{3}?[0-9]{3}$/)) {
return (phone_number.length < 1);
} else {
return (phone_number.length >= 9);
}
}, "Neplatné telefonní ?íslo");
jQuery(function($) {
var validator = $('#myform').validate({
debug: true,
rules: {
phoneCZ1: {
phoneCZ: true
},
phoneCZ2: {
required: true,
phoneCZ: true
}
},
messages: {}
});
});Run Code Online (Sandbox Code Playgroud)