我在下面使用此正则表达式代码来验证有效日期。
function isValidDate(div) {
var reg = /^((0?\d)|(1[012]))\/([012]?\d|30|31)\/\d{1,4}$/;
var regs = /^\/\d{1,4}$/;
var dateField = $(div).val();
if (dateField == "") {
//alert('Invalid inclusive dates.');
return false;
} else {
if (reg.test(dateField) == false && regs.test(dateField) == false) {
// alert('Invalid inclusive dates.');
return false;
} else {
return true;
}
}
}
我正在测试此代码,因为您可以看到if (reg.test(dateField) == false && regs.test(dateField) == false) {
中有2个条件。在这一行中,我正在测试日期是完整日期(2017年1月1日)还是(2017年)。如果我输入两个不同的日期,则由于条件而返回false。怎么做到这一点?。
答案 0 :(得分:1)
使日期和月份可选:
var reg = /^(?:(0?\d|1[012])\/(0?[1-9]|[12]\d|30|31)\/)?\d{1,4}$/;
// ^^^ ^^