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. ...
随机推荐
- vue-ajax/axios请求函数封装: axios+promise
项目文件目录/src/api ajax.js /** * ajax 请求函数模块 * 返回值为promise对象 */ import axios from 'axios' export default ...
- Hadoop演进与Hadoop生态
1.了解对比Hadoop不同版本的特性,可以用图表的形式呈现. (1)0.20.0~0.20.2: Hadoop的0.20分支非常稳定,虽然看起来有些落后,但是经过生产环境考验,是 Hadoop历史上 ...
- Flutter学习四之实现一个支持刷新加载的列表
上一篇文章用Scaffold widget搭建了一个带底部导航栏的的项目架构,这篇文章就来介绍一下在flutter中怎么实现一个带下拉刷新和上拉加载更多的一个列表,这里用到了pull_to_refre ...
- Shell学习(四)Shell运算符
一.基础运算 原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr 最常用. expr 是一款表达式计算工具,使用它能完成表达式的求值操作. #计算两个数 ...
- C++解析XML的通用库
工作中,经常和XML打交道,最近抽空实现了一个通用解析XML的库,已归档在GitHub,详情点击:ComXmlLib.如果您无法访问GitHub,点击此处下载(链接是初版,无法和GitHub同步,如需 ...
- 浅析Kubernrtes服务类型(Service Types)
先上图 在Kubernetes集群中,service通过标签选择器选着对应的pod,然后对请求进行转发,看个动画,能直接了当体会到便签选择器 pod,endpoints,service三者关系 1.举 ...
- 初探JVM
JVM探究 请你谈谈你对JVM的理解?java8虚拟机和之前的变化更新? 什么是OOM,什么是栈溢出StackOverFlowError?怎么分析? JVM的常用调优参数? 内存快照如何抓取,怎么分析 ...
- django rest_framework serializer的ManyRelatedField 和 SlugRelatedField使用
class BlogListSerializer(serializers.Serializer): id = serializers.IntegerField() user = BlogUserInf ...
- 当安装、卸载件包时,出现依赖问题 error: Failed dependencies解决办法
error: Failed dependencies:-- 依赖关系非常复杂,当你试图先安装任何一个包时都会出现这样的依赖关系错误,这时候你就应该强制安装了,我认为只要你把服务或软件需要的包都装上,强 ...
- 【题解】NOIP2018 旅行
题目戳我 \(\text{Solution:}\) 首先题目描述有一点不准确:回头是必须要走完一条路无路可走的时候才能返回. 对于树的情况:显然贪心做就完事了. 对于基环树的情况:对于一个\(n\)条 ...