怎么用 JavaScript 判断一个日期是否有效? 越简单越好.(50分)

  • 主题发起人 主题发起人 Sterntaler
  • 开始时间 开始时间
S

Sterntaler

Unregistered / Unconfirmed
GUEST, unregistred user!
在Java版问了一个如何判断一个字符串是不是日期的问题, 得到的都是Delphi的解决方法.
我有一个想法(一步步判断年,月,日是否合法), 可是总觉得太复杂, JDK应该提供了判断的方法的.
现在又多了一个问题了, JavaScript 里面怎么判断是不是日期? 你看下面的也是 true!
<script language='javascript'>
function checkDate(aDate){
if (isNaN(Date.parse(aDate))) return false;
else
return true;
}
function testCheck(){
window.alert(checkDate('2-30-1000'));
}
testCheck();
</script>
别叫我再一步步判断年,月,日是否合法了, 我要简单的.
 
只用正则表达式
function check_date(this_erro,this_date)
{
var format=/^/d{4}-((0[1-9])|1[012])-((0[1-9])|(1[0-9])|(2[0-9])|(3[01]))$/;
if(!format.test(this_date))
{
alert("'"+this_erro+"'的日期表达式错误,请用格式/"yyyy-mm-dd/"输入!!!");
return false;
}
else
{
return true;
}
}
 
慢着, 那只是判断格式. 是否是正确的日期还不能确定.
 
怎么不确定,年月日都分别判断了,就是31号不能正确判断
 
03-3-2: 不正确;
2003-2-2: 不正确;
0000-02-31: 终于正确了! ^^ 但这不是合法的日期.
目前我只有这一种方法: 先判断年润年, 再判断月, 然后根据月判断日(28, 29, 30, 31).
 
后退
顶部