需求: 1:可提供日期不超过当前日期或者(验证选中日期是否超过今天) 2:日期验证 3:input表格里面获取当前系统默认日期 4:选着日期点击选中后点确定按钮才关闭 5:验证结束日期大于开始日期
代码语言:javascript复制<!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>
原文作者:祈澈姑娘 技术博客:https://www.jianshu.com/u/05f416aefbe1 90后前端妹子,爱编程,爱运营,文艺与代码齐飞,魅力与智慧共存的程序媛一枚。