需求:
1:可提供日期不超过当前日期或者(验证选中日期是否超过今天)
2:日期验证
3:input表格里面获取当前系统默认日期
4:选着日期点击选中后点确定按钮才关闭
5:验证结束日期大于开始日期
<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no"> <title> </title> <link type="text/css" rel="stylesheet" href="jeDate-gh-pages/test/jeDate-test.css"> <link type="text/css" rel="stylesheet" href="jeDate-gh-pages/skin/jedate.css"> <script type="text/javascript" src="jeDate-gh-pages/src/jedate.js"></script> <script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js"></script> </head> <body> <input type="text" class="form-control input-medium" placeholder="开始时间" id="startTime" /> <input type="text" class="form-control input-medium" placeholder="结束时间" id="endTime" /> <button type="submit" id="btnsearch">搜索</button> </body> <script type="text/javascript"> //可提供日期不超过当前日期 Date.prototype.format = function(format) { var o = { "M+" : this.getMonth() + 1, // month "d+" : this.getDate(), // day "h+" : this.getHours(), // hour "m+" : this.getMinutes(), // minute "s+" : this.getSeconds(), // second "q+" : Math.floor((this.getMonth() + 3) / 3), // quarter "S" : this.getMilliseconds() // millisecond }; if (/(y+)/.test(format)) { format = format.replace(RegExp.$1, (this.getFullYear() + "") .substr(4 - RegExp.$1.length)); } for ( var k in o) { if (new RegExp("(" + k + ")").test(format)) { format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]) .substr(("" + o[k]).length)); } } return format; }; var nowt = new Date().format("yyyy-MM-dd"); //选中后点确定按钮才关闭 jeDate("#startTime", { onClose : true, theme : { bgcolor : "#00A1CB", color : "#ffffff", pnColor : "#00CCFF" }, format : 'YYYY-MM-DD hh:mm:ss', maxDate : nowt }); jeDate("#endTime", { onClose : true, theme : { bgcolor : "#00A1CB", color : "#ffffff", pnColor : "#00CCFF" }, format : 'YYYY-MM-DD hh:mm:ss', maxDate : nowt }); //默认input是系统当前时间选择 var mydateInput = document.getElementById("startTime"); var date = new Date(); /* date.setMonth(date.getMonth()-1); */ var dateString = date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate() + " " + "8:00:00"; mydateInput.value = dateString; var mydateInputs = document.getElementById("endTime"); var dates = new Date(); var dateStrings = dates.getFullYear() + "-" + (dates.getMonth() + 1) + "-" + dates.getDate() + " " + "18:00:00"; mydateInputs.value = dateStrings; // 点击事件 $("#btnsearch").click(function() { if(validate()) { return; } }) // 验证年月 function validate(numb) { if($("#startTime").val() == '') { alert("开始日期不可为空"); return true; } if(diffDate($("#startTime").val()) == 0) { alert("开始日期不能超过当前日期"); return true; } if($("#endTime").val() == '') { alert("结束日期不可为空"); return true; } if(diffDate($("#endTime").val()) == 0) { alert("结束日期不能超过当前日期"); return true; } if(validateDate($("#startTime").val(), $("#endTime").val())) { alert('结束日期不得小于开始日期') return true; } return false; } // 验证选中日期是否超过今天(和可提供日期不超过当前日期查不多需求) function diffDate(evalue) { var date = new Date(Date.parse(evalue.replace(/-/g, "/"))); if(new Date() >= date) { return 1; } return 0; } // 验证结束日期大于开始日期 function validateDate(beginTime, endTime) { var bd = new Date(Date.parse(beginTime)); var ed = new Date(Date.parse(endTime)); return bd > ed; } </script> </html>