我通过用户输入得到三个变量,包含日期,月份和日期的年份.我已经检查了月份var是否在1-12之间,依此类推.
现在我想检查它是否是真实日期,而不是像31-06-2011那样不存在的日期.
我的第一个想法是创建一个新的Date实例:
var year = 2011;
var month = 5; // five because the months start with 0 in JavaScript - June
var day = 31;
var myDate = new Date(2011,5,31);
console.log(myDate);
Run Code Online (Sandbox Code Playgroud)
但myDate不会返回false,因为它不是有效日期.而是返回'2011年7月1日星期五[...]'.
我有什么想法可以检查无效日期吗?
Gau*_*rav 11
试试这个:
if ((myDate.getMonth()+1!=month)||(myDate.getDate()!=day)||(myDate.getFullYear()!=year))
alert("Date Invalid.");
Run Code Online (Sandbox Code Playgroud)
if ((myDate.getDate() != day) ||
(myDate.getMonth() != month - 1) ||
(myDate.getFullYear() != year))
{
return false;
}
Run Code Online (Sandbox Code Playgroud)
JavaScript的只是转换在进入Date构造函数month,year,day,等.在简单的int值(毫秒),然后格式化它以字符串格式表示.你可以创建new Date(2011, 100, 100)和everythig将确定:)
| 归档时间: |
|
| 查看次数: |
16046 次 |
| 最近记录: |