我正在使用jQuery验证,这是我用来验证美国电话号码的扩展。
jQuery.validator.addMethod("phoneUS", function(phone_number, element) {
phone_number = phone_number.replace(/\s+/g, "");
return this.optional(element) || phone_number.length > 9 &&
phone_number.match(/^(1-?)?(\([2-9]\d{2}\)|[2-9]\d{2})-?[2-9]\d{2}-?\d{4}$/);
}, "Please specify a valid phone number");这很有效,但是如果我只想验证3个数字中的2个,那该怎么办呢?
举个例子,我有
Home Phone: <input name="h" ...>
Work Phone: <input name="w" ...>
Cell Phone: <input name="c" ...>
$('form').validate({
rules: {
h: {phoneUS: true},
w: {phoneUS: true},
c: {phoneUS: true}
}
});发布于 2010-09-08 05:37:29
在这里找到了答案:
jQuery Validate - require at least one field in a group to be filled
此外,在我发现这一点之前,我确实想出了我自己的解决方案。
h: {
phoneUS: true,
required: function(element) {
return ($('input.phones:blank').length >= 2);
}
},
c: {
phoneUS: true,
required: function(element) {
return ($('input.phones:blank').length >= 2);
}
},
w: {
phoneUS: true,
required: function(element) {
return ($('input.phones:blank').length >= 2);
}
}发布于 2010-09-03 07:41:25
在输入字段中使用类
Home Phone: <input name="h" class="phones">
Work Phone: <input name="w" class="phones">
Cell Phone: <input name="c" class="phones">更改您的jquery
$('.phones').validate({
rules: {
h: {phoneUS: true},
w: {phoneUS: true},
c: {phoneUS: true}
}
});https://stackoverflow.com/questions/3632066
复制相似问题