查看: 2030|回复: 0
打印 上一主题 下一主题
收起左侧

[算法与编程] 177、判断第二个日期比第一个日期大

[复制链接]

566

主题

713

帖子

3827

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3827
楼主
跳转到指定楼层
发表于 2016-9-7 23:25:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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


如何用脚本判断用户输入的的字符串是下面的时间格式2004-11-21必须要保证用户的输入是此格式,并且是时间,比如说月份不大于12等等,另外我需要用户输入两个,并且后一个要比前一个晚,只允许用JAVASCRIPT,请详细帮助作答,,

//这里可用正则表达式判断提前判断一下格式,然后按下提取各时间字段内容

  1. <script type="text/javascript">
  2. window.onload = function()
  3. {
  4. //这么写是为了实现js代码与html代码的分离,当我修改js时,不能影响html代码。
  5. document.getElementById("frm1").onsubmit =
  6. function(){
  7. var d1 = this.d1.value;
  8. var d2 = this.d2.value;
  9. if(!verifyDate (d1)) {alert("第一个日期格式不对");return false;}
  10. if(!verifyDate (d2)) {alert("第二个日期格式不对");return false;}
  11. if(!compareDate(d1,d2)) {alert("第二个日期比第一日期小");return false;}
  12. };
  13. }
  14. function compareDate(d1,d2)
  15. {
  16. var arrayD1 = d1.split("-");
  17. var date1 = new Date(arrayD1[0],arrayD1[1],arrayD1[2]);
  18. var arrayD2 = d2.split("-");
  19. var date2 = new Date(arrayD2[0],arrayD2[1],arrayD2[2]);
  20. if(date1 > date2) return false;
  21. return true;
  22. }
  23. function verifyDate(d)
  24. {
  25. var datePattern = /^\d{4}-(0?[1-9]|1[0-2])-(0?[1-9]|[1-2]\d|3[0-1])$/;
  26. return datePattern.test(d);
  27. }
  28. </script>

  29. <form id="frm1" action="xxx.html">
  30. <input type="text" name="d1" />
  31. <input type="text" name="d2" />
  32. <input type="submit"/>
  33. </form>


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 打开微信扫一扫