13

我想检查用户是否输入了日期。但我不知道该怎么做。

这是我已经得到但不起作用的一些javascript代码:

var valueDate = document.getElementById('Date').value;
if ( valueDate== null || valueDate== '')
{
    alert('Date is empty');
    return false;
}

和 HTML<input type="date" name="Date" id="Date"/> 提前谢谢!

4

3 回答 3

34

您可以检查虚假值:

if (!valueDate) {
    // ...
}

JavaScript 中的虚假值是:

  1. undefined
  2. null
  3. false
  4. ""
  5. 0-0
  6. 0n
  7. NaN

由于document.getElementById('Date').value如果设置了值,则始终为 string 类型,因此您不会得到误报,例如0被视为没有输入,如果类型为number.

于 2013-10-01T07:45:31.877 回答
11

如果我是你,我会尝试使用 Date.parse()。

var valueDate = document.getElementById('Date').value;

if(!Date.parse(valueDate)){
  alert('date is invalid');
}

http://www.w3schools.com/jsref/jsref_parse.asp

于 2013-10-01T07:45:44.503 回答
2

我会这样做

var valueDate = document.getElementById('Date').value;

if (!valueDate) {
  alert('date is invalid');
}else{alert('date is valid')}
于 2020-07-25T02:36:19.430 回答