1. 1 <!DOCTYPE html>
  2. 2 <html>
  3. 3 <head>
  4. 4 <meta charset="utf-8"/>
  5. 5 <title>h5compareDate</title>
  6. 6 </head>
  7. 7 <body>
  8. 8 <form name="form1" action="compareDate.html" method="post" onSubmit="return compareDoubleDate()">
  9. 9 <input type="text" name="date1">
  10. 10 <input type="text" name="date2"><br>
  11. 11 <input type="submit" value="提交">
  12. 12 </form>
  13. 13 </body>
  14. 14 <script type="text/javascript">
  15. 15 function compareDoubleDate(){
  16. 16 var d1 = document.forms["form1"]["date1"].value;
  17. 17 var d2 = document.forms["form1"]["date2"].value;
  18. 18 //alert(d1);
  19. 19 //alert(d2);
  20. 20 if (d1 == null || d1 == ""){
  21. 21 alert("日期必填");
  22. 22 return false;
  23. 23 }
  24. 24 if (d2 == null || d2 == ""){
  25. 25 alert("日期必填");
  26. 26 return false;
  27. 27 }
  28. 28
  29. 29 if (!verifyDate(d1)){
  30. 30 alert("日期1格式不对");
  31. 31 return false;
  32. 32 }
  33. 33 if (!verifyDate(d2)){
  34. 34 alert("日期2格式不对");
  35. 35 return false;
  36. 36 }
  37. 37
  38. 38 if (!checkDate(d1)){
  39. 39 alert("日期1不合法");
  40. 40 return false;
  41. 41 }
  42. 42 if (!checkDate(d2)){
  43. 43 alert("日期2不合法");
  44. 44 return false;
  45. 45 }
  46. 46
  47. 47 return compareDate(d1, d2);
  48. 48
  49. 49 }
  50. 50 <!-- 先验证格式是否正确-->
  51. 51 function verifyDate(date){
  52. 52 var regExp = /^\d{4}-0?[1-9]|1[0-2]-0?[0-9]|[1-2]\d|3[0-1]$/;//js正则表达式,千万不要加引号
  53. 53 return regExp.test(date);
  54. 54 }
  55. 55
  56. 56 <!-- 日期是否合法,格式正确后,关键要看瑞年2不能超过29天,平年二月不能超过28天,小月不能超过30天,-->
  57. 57 function checkDate(date){
  58. 58 var arrDate1 = date.split("-");
  59. 59 var year = Number(arrDate1[0]);
  60. 60 var month = Number(arrDate1[1]);
  61. 61 var day = Number(arrDate1[2]);
  62. 62 //document.write(year);
  63. 63 if (month == 4 || month == 6 || month == 9 || month == 11){
  64. 64 if (day > 30){
  65. 65 alert("日期不合法,");
  66. 66 return false;
  67. 67 }
  68. 68 }
  69. 69 if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0 ){
  70. 70 if (month == 2 && day > 29){
  71. 71 alert("日期不合法,瑞年2月最大29天");
  72. 72 return false;
  73. 73 }
  74. 74
  75. 75 }else{
  76. 76 if (month == 2 && day > 28){
  77. 77 alert("日期不合法,平年2月最大28天");
  78. 78 return false;
  79. 79 }
  80. 80 }
  81. 81 return true;
  82. 82 }
  83. 83
  84. 84 function compareDate(d1, d2){
  85. 85 var arrDate1 = d1.split("-");
  86. 86 var date1 = new Date(arrDate1[0], arrDate1[1], arrDate1[2]);
  87. 87 var arrDate2 = d2.split("-");
  88. 88 var date2 = new Date(arrDate2[0], arrDate2[1], arrDate2[2]);
  89. 89 if (date1 > date2){
  90. 90 alert("前一个日期应不大于后一个日期");
  91. 91 return false;
  92. 92 }
  93. 93 return true;
  94. 94 }
  95. 95 </script>

js 日期格式、内容合法、比较大小、表单提交验证的更多相关文章

  1. amazeUI表单提交验证--input框required

    效果: html: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> < ...

  2. aspx中的表单验证 jquery.validate.js 的使用 以及 jquery.validate相关扩展验证(Jquery表单提交验证插件)

    这一期我们先讲在aspx中使用 jquery.validate插件进行表单的验证, 关于MVC中使用 validate我们在下一期中再讲     上面是效果,下面来说使用步骤 jQuery.Valid ...

  3. 原生JS 表单提交验证器

    转载:http://www.cnblogs.com/sicd/p/4613628.html 一.前言 最近在开发一个新项目,需要做登陆等一系列的表单提交页面.在经过“缜密”的讨论后,我们决定 不用外部 ...

  4. CodeIgniter典型的表单提交验证代码

    view内容: <?php echo form_open('user/reg'); ?> <h5>用户名</h5> <input type="tex ...

  5. Angualr6表单提交验证并跳转

    在Angular6中,使用NG-ZRROR作为前端开发框架,在进行表单开发时遇到了一些问题,最后解决了,在此记录. 1.表单构造: 引入forms: import { FormGroup, FormB ...

  6. js 记一次带时间的表单提交报400错误

    写一个功能的时候,表单里不填时间提交的时候,数据就正常传到后台了,一填上时间就报400错误,看了后台时间的处理也没问题,看了前端时间控件返回的格式也对,但是就是一直报错, 把提交的数据打印出来也没发现 ...

  7. destoon 信息发布表单提交验证

    sell 模块的form表单如下: <form method="post" id="dform" action="?" target= ...

  8. easyui表单提交验证form

    方式一,不需要考虑jquery.easyui.min.js版本 <script> $(function () { //针对 设置 novalidate:true $('.validateb ...

  9. PHP表单提交验证各种方式

    <!DOCTYPE unspecified PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www. ...

随机推荐

  1. python中random库的使用

    基本随机函数 计算机产生随机数是需要随机数种子的,例如 给定一个随机数种子,就能利用梅森旋转算法产生一系列随机序列 每一个数都是随机数,只要随机种子相同,产生的随机数和数之间的关系都是确定的 随机种子 ...

  2. CVE-2018-8045

    Joomla!Core SQL注入漏洞 CVE-2018-8045 受影响版本:joomla!3.5.0-3.8.5 漏洞描述: joomla!3.5.0-3.8.5版本对sql语句内的变量缺少类型转 ...

  3. C语言入门经典书目推荐--转

    国内良莠不齐的C语言教程数不胜数,同名如"C程序设计""C语言程序设计""C语言程序设计教程"的都多如牛毛,这些不知名的就不予考虑了,要看就 ...

  4. 前端er,你真的会用 async 吗?

    async 异步函数 不完全使用攻略 前言 现在已经到 8012 年的尾声了,前端各方面的技术发展也层出不穷,VueConf TO 2018 大会 也发布了 Vue 3.0的计划.而在我们(我)的日常 ...

  5. 引用类型之Object

    引用类型 引用类的值(对象)是引用类型的一个实例.在ECMAScript中,引用类型是一种数据结构,用于将数据和功能组织在一起. 对象是某个特定引用类型的实例.新对象是使用new操作符后跟一个构造函数 ...

  6. OpenCV计算机视觉学习(2)——图像算术运算 & 掩膜mask操作(数值计算,图像融合,边界填充)

    在OpenCV中我们经常会遇到一个名字:Mask(掩膜).很多函数都使用到它,那么这个Mask到底是什么呢,下面我们从图像基本运算开始,一步一步学习掩膜. 1,图像算术运算 图像的算术运算有很多种,比 ...

  7. Sticks(UVA - 307)【DFS+剪枝】

    Sticks(UVA - 307) 题目链接 算法 DFS+剪枝 1.这道题题意就是说原本有一些等长的木棍,后来把它们切割,切割成一个个最长为50单位长度的小木棍,现在想让你把它们组合成一个个等长的大 ...

  8. (九) SpringBoot起飞之路-整合/集成Swagger 2 And 3

    兴趣的朋友可以去了解一下其他几篇,你的赞就是对我最大的支持,感谢大家! (一) SpringBoot起飞之路-HelloWorld (二) SpringBoot起飞之路-入门原理分析 (三) Spri ...

  9. 第0天 | 12天搞定Pyhon,前言

    依稀记得,在2014年的某一天,一位运营电商平台的多年好朋友,找我帮忙:一个月内,实现抓取竞争对手在某电商平台上的所有产品信息并统计每个产品的点击率. 说出来有些不好意思,那些年,参与过的产品挺多的, ...

  10. 【LGR-070】洛谷 3 月月赛-官方题解

    本次免费为大家提供[LGR-070]洛谷 3 月月赛的官方题解,点个赞再走呗! 代码就不上了,大家可以到别的博客上去找找!希望这篇博客能对你有所帮助!