js 日期格式、内容合法、比较大小、表单提交验证

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 日期格式、内容合法、比较大小、表单提交验证的更多相关文章
- amazeUI表单提交验证--input框required
效果: html: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> < ...
- aspx中的表单验证 jquery.validate.js 的使用 以及 jquery.validate相关扩展验证(Jquery表单提交验证插件)
这一期我们先讲在aspx中使用 jquery.validate插件进行表单的验证, 关于MVC中使用 validate我们在下一期中再讲 上面是效果,下面来说使用步骤 jQuery.Valid ...
- 原生JS 表单提交验证器
转载:http://www.cnblogs.com/sicd/p/4613628.html 一.前言 最近在开发一个新项目,需要做登陆等一系列的表单提交页面.在经过“缜密”的讨论后,我们决定 不用外部 ...
- CodeIgniter典型的表单提交验证代码
view内容: <?php echo form_open('user/reg'); ?> <h5>用户名</h5> <input type="tex ...
- Angualr6表单提交验证并跳转
在Angular6中,使用NG-ZRROR作为前端开发框架,在进行表单开发时遇到了一些问题,最后解决了,在此记录. 1.表单构造: 引入forms: import { FormGroup, FormB ...
- js 记一次带时间的表单提交报400错误
写一个功能的时候,表单里不填时间提交的时候,数据就正常传到后台了,一填上时间就报400错误,看了后台时间的处理也没问题,看了前端时间控件返回的格式也对,但是就是一直报错, 把提交的数据打印出来也没发现 ...
- destoon 信息发布表单提交验证
sell 模块的form表单如下: <form method="post" id="dform" action="?" target= ...
- easyui表单提交验证form
方式一,不需要考虑jquery.easyui.min.js版本 <script> $(function () { //针对 设置 novalidate:true $('.validateb ...
- PHP表单提交验证各种方式
<!DOCTYPE unspecified PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www. ...
随机推荐
- redis哨兵机制--配置文件sentinel.conf详解
转载自 https://blog.csdn.net/u012441222/article/details/80751390 Redis的哨兵机制是官方推荐的一种高可用(HA)方案,我们在使用Redis ...
- archaius(1) 概述
archaius作为配置管理工具,内部主要定义了下几个模块: 配置源 配置源的主要功能是将配置从目标位置加载到内存中.详见:archaius源码分析之配置源 配置管理器 配置管理器的主要功能是管理内存 ...
- thinkPHP5.1 MVC架构使用方法
MVC架构 1.M层:model(模型),是增强版的数据库 M层是用来存放自动完成代码.修改器(数据修改).模型事件.验证器 2.V层:view 显示视图 V层用来存放HTML.css.JavaScr ...
- 【Netty之旅四】你一定看得懂的Netty客户端启动源码分析!
前言 前面小飞已经讲解了NIO和Netty服务端启动,这一讲是Client的启动过程. 源码系列的文章依旧还是遵循大白话+画图的风格来讲解,本文Netty源码及以后的文章版本都基于:4.1.22.Fi ...
- powershell中使用Send-MailMessage发送邮件
在powershell中我们可以使用Send-MailMessage发送邮件,一般都是有这个命令的 笔者的总结是鉴于公司的环境的,大家在借鉴时,需要根据自己的实际情况进行修改 1.你笔者测试的格式如下 ...
- Linux基本目录机构
Linux基本目录机构 1. 基本介绍 Linux的文件系统采用级层式子的树状目录结构 最上层是根目录"/" Linux世界里,一切皆文件 2. 目录用途 /bin: 是Binar ...
- 海量数据处理之布隆过滤器BloomFilter算法
Bloom Filter是由Bloom在1970年提出的一种多哈希函数映射的快速查找算法.通常应用在一些需要快速判断某个元素是否属于集合,但是并不严格要求100%正确的场合.使用场景:数据量为100亿 ...
- Depthwise Separable Convolution(深度可分离卷积)的实现方式
按照普通卷积-深度卷积-深度可分离卷积的思路总结. depthwise_conv2d来源于深度可分离卷积,如下论文: Xception: Deep Learning with Depthwise Se ...
- PYG5.4第十六期第一轮基础六题
1. HYWZ-dts音效大师破解https://www.chinapyg.com/thread-135090-1-1.html(出处: 飘云阁(PYG官方论坛) ) 2. HYWZ-LopeEdit ...
- 获取IP 地址,失败!解决方法
命令ip addr 获取IP地址失败,见下图: 解决方法,查看ens33网卡的配置: 控制台,路径输入: vi /etc/sysconfig/network-scripts/ifcfg-ens33 然 ...