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. (专题四)05 matlab视角处理

    方位角 视角 子图一 子图二,视点设置在图形的正上方 子图三,视点设置在图形侧面时的效果 子图四,十点设置在图形斜下方的效果 \circ用于输出符号° view函数的其他用法 视点在笛卡尔坐标中的位置 ...

  2. archaius(3) 配置管理器

    基于上一节介绍的配置源,我们来继续了解配置管理器.配置源只是抽象了配置的获取来源,配置管理器是基于配置源的基础上对这些配置项进行管理.配置管理器的主要功能是将配置从目标位置加载到内存中,并且管理内存配 ...

  3. (转)CrudRepository JpaRepository PagingAndSortingRepository之间的区别

    1. 简介 本文介绍三种不同的Spring Data repository和它们的功能,包含以下三种: CrudRepository PagingAndSortingRepository JpaRep ...

  4. 【JAVA】mysql数据库常见知识点

    目录 1.事务四大特性 2.数据库隔离等级 3.Mysql两种存储引擎的区别 4.哈希索引和B+树索引 5.聚簇索引和非聚簇索引 6.索引的优缺点,什么时候使用索引,什么时候不能使用索引 7.索引的底 ...

  5. Centos-远程拷贝-scp

    scp 依赖ssh协议,实现从哟个linux系统拷贝到另一个linux系统 格式 scp -P port localPath user@IP:targetPath # 如果拷贝的是文件则需要传递 -r ...

  6. 温故知新————c++ 多态

    参考: 1. https://blog.csdn.net/weixin_42678507/article/details/89414998  (直接说明原理) 2 .https://www.cnblo ...

  7. matlab中wvtool

    参考:https://ww2.mathworks.cn/help/signal/ref/wvtool.html?searchHighlight=wvtool&s_tid=doc_srchtit ...

  8. AD15使用笔记

    AD15使用笔记 1.板内孔开洞 步骤:选中图形->Tools->Convert->Creat Borad Cutout From Selected Primitives;

  9. 史上最全Python快速入门教程,满满都是干货

    Python是面向对象,高级语言,解释,动态和多用途编程语言.Python易于学习,而且功能强大,功能多样的脚本语言使其对应用程序开发具有吸引力.Python的语法和动态类型具有其解释性质,使其成为许 ...

  10. Flink深入浅出: 资源管理(v1.11)

    -- 图片来自 <国家地理中文网>-- 往期推荐: Flink深入浅出:部署模式 Flink深入浅出:内存模型 Flink深入浅出:JDBC Source从理论到实战 Flink深入浅出: ...