如何确定日期是否仅为JS

时间:2017-01-04 06:22:38

标签: javascript regex date

我在下面使用此正则表达式代码来验证有效日期。

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。怎么做到这一点?。

1 个答案:

答案 0 :(得分:1)

使日期和月份可选:

var reg = /^(?:(0?\d|1[012])\/(0?[1-9]|[12]\d|30|31)\/)?\d{1,4}$/;
//          ^^^                                       ^^