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

    http://www.cnblogs.com/c-programing-language/p/6703508.html

  2. java 常用类-StringBuffer-StringBuilder

    二.StringBuffer类&StringBuilder类 2.1 简介 java.lang.StringBuffer.StringBuilder代表可变的字符序列,可以对字符 串内容进行增 ...

  3. 纯粹极简的react状态管理组件unstated

    简介 unstated是一个极简的状态管理组件 看它的简介:State so simple, it goes without saying 对比 对比redux: 更加灵活(相对的缺点是缺少规则,需要 ...

  4. Python练习题 041:Project Euler 013:求和、取前10位数值

    本题来自 Project Euler 第13题:https://projecteuler.net/problem=13 # Project Euler: Problem 13: Large sum # ...

  5. 【Java】socket编程,输入输出中的问题

    BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream())); PrintWri ...

  6. fopen和fopen_s的区别

    转载:https://blog.csdn.net/keith_bb/article/details/50063075 fopen: 原型:FILE * fopen(const char * path, ...

  7. matlab中imfilter、conv2、imfilter2用法及区别

    来源 :https://blog.csdn.net/u013066730/article/details/56665308(比较详细) https://blog.csdn.net/yuanhuilin ...

  8. 十一、模拟扫码登录微信(用Django简单的布置了下页面)发送接收消息

    为了能够模拟登陆QQ,并获取信息.对扫码登录微信进行了分析.简单的用了一下Django将获取的信息映射到页面上.(python3+pycharm) 主要过程就是: 1.获取二维码 2.扫码登录(有三种 ...

  9. 把python文件打包成可执行文件(win10实验成功)

    总是有人来找我帮看下工单状态,又懒得写页面展示出来,干脆打包成exe文件好啦 打包很简单,难点在于安装pyinstaller这个依赖包,主要是网络问题~ 我也是参考别人的博文,别人的文章写得很详细,我 ...

  10. NB 的开源项目遍地开花——GitHub 热点速览 Vol.41

    作者:HelloGitHub-小鱼干 本周的 GitHub 热点速览的关键词便是 nb,也是本周特推之一的项目名字,这个功能如名字一般 nb 的项目是一个脚本,帮你处理笔记.书签.归档和知识库应用程序 ...