javascript

时间:2016-06-04 05:30:07

标签: javascript html asp.net datetime

我已经写了一个javascript条件来检查日期条件。

我的要求是什么,我有两个textbox我在其中添加了日期,而我想要检查的是。

我输入文本框的日期不应大于当前日期。

我已尝试过以下代码,但它接受的日期大于系统日期。

var todayDate = new Date();
   var todayMonth = todayDate.getMonth() + 1;
   var todayDay = todayDate.getDate();
   var todayYear = todayDate.getFullYear();

 var todayDateText = todayMonth + "/" + todayDay + "/" + todayYear;
    var Dt1 = document.getElementById('txtFormDt').value;
    var Dt2 = document.getElementById('txtToDt').value;
  if (todayDateText > Dt1) 
    {
        alert("System Date Should be grater than From Date");
    }
     if (todayDateText > Dt2) {
         alert("System Date Should be grater than To Date");
    }

       if (Dt2 < Dt1) {
           alert("To Date Should be grater than From Date");
           return false;
       }
       return true;
  }

1 个答案:

答案 0 :(得分:1)

您可以使用<>>=<=运算符直接比较日期对象,但不能=====也是对象。但是,请确保正确解析输入中的值,例如

function checkDate(el) {
  var form = el.form;
  var now = new Date();
  var date = parseMDY(form.startDate.value);
  form.parsedDate.value = date;

  if (!date || isNaN(+date)) {
    form.result.value = "Invalid date";
  } else {
    form.result.value = date < now;
  }
}

// Parse string in m/d/y format
// Returns invalid date if month or day out of range
function parseMDY(s) {
  var b = s.split(/\D/);
  var d = new Date(b[2], --b[0], b[1]);
  return d && d.getMonth() == b[0]? d : new Date(NaN);
}
<form id="f0">
  Insert date (m/d/y)<input type="text" name="startDate">
  <input type="button" onclick="console.log(checkDate(this));" value="Check date">
  <br>
  Input date: <input name="parsedDate" readonly size="50">
  <br>
  Before today?<input name="result">
</form>