首页 >> js开发 >> jsJS实现时间校验的代码js大全
jsJS实现时间校验的代码js大全
发布时间: 2021年1月13日 | 浏览:
| 分类:js开发
常用于活动时间结束弹窗提示
注意:
常用于活动时间结束弹窗提示注意:1.只是JS校验时间提示,并不安全
2.前台页面的时间校验不影响后台,所以,当用户修改本地计算机时间时,可能存在不安全因素1、直接看代码1、直接看代码
var mydate = new Date();
var date = myDate();
function activeData(){
if(!isDateBetween(date,'2021/01/30','2021/03/31')){
//在有效时间,对应处理逻辑
}else{
//不在有效时间,对应处理逻辑
}
}
function dateParse(dateString){
var SEPARATOR_BAR = "-";
var SEPARATOR_SLASH = "/";
var SEPARATOR_DOT = ".";
var dateArray;
if(dateString.indexOf(SEPARATOR_BAR) > -1){
dateArray = dateString.split(SEPARATOR_BAR);
}else if(dateString.indexOf(SEPARATOR_SLASH) > -1){
dateArray = dateString.split(SEPARATOR_SLASH);
}else{
dateArray = dateString.split(SEPARATOR_DOT);
}
return new Date(dateArray[0], dateArray[1]-1, dateArray[2]);
};
function dateCompare(dateString, compareDateString){
var dateTime = dateParse(dateString).getTime();
var compareDateTime = dateParse(compareDateString).getTime();
if(compareDateTime > dateTime){
return 1;
}else if(compareDateTime == dateTime){
return 0;
}else{
return -1;
}
};
function isDateBetween(dateString, startDateString, endDateString){
var flag = false;
var startFlag = (dateCompare(dateString, startDateString) < 1);
var endFlag = (dateCompare(dateString, endDateString) > -1);
if(startFlag && endFlag){
flag = true;
}
return flag;
};
function myDate(){
// 对Date的扩展,将 Date 转化为指定格式的String
// 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符,
// 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字)
// 例子:
// (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2021-07-02 08:09:04.423
// (new Date()).Format("yyyy-M-d h:m:s.S") ==> 2021-7-2 8:9:4.18
Date.prototype.Format = function(fmt)
{ // author: meizz
var o = {
"M+" : this.getMonth()+1,
// 月份
"d+" : this.getDate(),
// 日
"h+" : this.getHours(),
// 小时
"m+" : this.getMinutes(),
// 分
"s+" : this.getSeconds(),
// 秒
"q+" : Math.floor((this.getMonth()+3)/3), // 季度
"S" : this.getMilliseconds()
// 毫秒
};
if(/(y+)/.test(fmt))
fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length));
for(var k in o)
if(new RegExp("("+ k +")").test(fmt))
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));
return fmt;
}
var nowDate = new Date().Format("yyyy-MM-dd");
return nowDate;
};
var mydate = new Date();
var date = myDate();
function activeData(){
if(!isDateBetween(date,'2021/01/30','2021/03/31')){
//在有效时间,对应处理逻辑
}else{
//不在有效时间,对应处理逻辑
}
}
function dateParse(dateString){
var SEPARATOR_BAR = "-";
var SEPARATOR_SLASH = "/";
var SEPARATOR_DOT = ".";
var dateArray;
if(dateString.indexOf(SEPARATOR_BAR) > -1){
dateArray = dateString.split(SEPARATOR_BAR);
}else if(dateString.indexOf(SEPARATOR_SLASH) > -1){
dateArray = dateString.split(SEPARATOR_SLASH);
}else{
dateArray = dateString.split(SEPARATOR_DOT);
}
return new Date(dateArray[0], dateArray[1]-1, dateArray[2]);
};
function dateCompare(dateString, compareDateString){
var dateTime = dateParse(dateString).getTime();
var compareDateTime = dateParse(compareDateString).getTime();
if(compareDateTime > dateTime){
return 1;
}else if(compareDateTime == dateTime){
return 0;
}else{
return -1;
}
};
function isDateBetween(dateString, startDateString, endDateString){
var flag = false;
var startFlag = (dateCompare(dateString, startDateString) < 1);
var endFlag = (dateCompare(dateString, endDateString) > -1);
if(startFlag && endFlag){
flag = true;
}
return flag;
};
function myDate(){
// 对Date的扩展,将 Date 转化为指定格式的String
// 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符,
// 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字)
// 例子:
// (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2021-07-02 08:09:04.423
// (new Date()).Format("yyyy-M-d h:m:s.S") ==> 2021-7-2 8:9:4.18
Date.prototype.Format = function(fmt)
{ // author: meizz
var o = {
"M+" : this.getMonth()+1,
// 月份
"d+" : this.getDate(),
// 日
"h+" : this.getHours(),
// 小时
"m+" : this.getMinutes(),
// 分
"s+" : this.getSeconds(),
// 秒
"q+" : Math.floor((this.getMonth()+3)/3), // 季度
"S" : this.getMilliseconds()
// 毫秒
};
if(/(y+)/.test(fmt))
fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length));
for(var k in o)
if(new RegExp("("+ k +")").test(fmt))
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));
return fmt;
}
var nowDate = new Date().Format("yyyy-MM-dd");
return nowDate;
};2、例子效果图总结总结总结
相关文章:
- js解决vue的router组件component在import时不能使用变量问题js大全
- jsJS的时间格式化和时间戳转换函数示例详解js大全
- js解决vuex数据页面刷新后初始化操作js大全
- jsAngular利用HTTP POST下载流文件的步骤记录js大全
- js解决vue动态路由异步加载import组件,加载不到module的问题js大全
- jsElement Breadcrumb 面包屑的使用方法js大全
- jsvue项目使用$router.go(-1)返回时刷新原来的界面操作js大全
- js在vue中使用防抖函数组件操作js大全
- jsElement Input输入框的使用方法js大全
- js谈一谈vue请求数据放在created好还是mounted里好js大全