判断第二个日期比第一个日期大

如何用脚本判断用户输入的的字符串是下面的时间格式2004-11-21 必须要保证用户的输入是此格式,并且是时间,比如说月份不大于12等等,另外我需要用户输入两个,并且后一个要比前一个晚,只允许用JAVASCRIPT,请详细帮助作答,,
//这里可用正则表达式判断提前判断一下格式,然后按下提取各时间字段内容
<script type="text/javascript">
   window.onload = function()
   {
        //这么写是为了实现js代码与html代码的分离,当我修改js时,不能影响html代码。
        document.getElementById("frm1").onsubmit =
               function(){
                      var d1 = this.d1.value;
                      var d2 = this.d2.value;
                      if(!verifyDate (d1)) {alert("第一个日期格式不对");return false;}
                      if(!verifyDate (d2)) {alert("第二个日期格式不对");return false;}
                      if(!compareDate(d1,d2)) {alert("第二个日期比第一日期小");return false;}                
               };
        }
      
        function compareDate(d1,d2)
        {
               var arrayD1 = d1.split("-");
               var date1 = new Date(arrayD1[0],arrayD1[1],arrayD1[2]);
               var arrayD2 = d2.split("-");
               var date2 = new Date(arrayD2[0],arrayD2[1],arrayD2[2]);
               if(date1 > date2) return false;            
               return true;
        }
      
        function verifyDate(d)
        {
               var datePattern = /^\d{4}-(0?[1-9]|1[0-2])-(0?[1-9]|[1-2]\d|3[0-1])$/;
               return datePattern.test(d);
        }
</script>

<form id="frm1" action="xxx.html">
<input type="text" name="d1" />
<input type="text" name="d2" />
<input type="submit"/>
</form>

猜你喜欢

转载自caichenglong.iteye.com/blog/2265661