JS实现时间校验的代码


Posted in Javascript onMay 25, 2020
  1. 常用于活动时间结束弹窗提示
  2. 注意:

1.只是JS校验时间提示,并不安全
2.前台页面的时间校验不影响后台,所以,当用户修改本地计算机时间时,可能存在不安全因素

1、直接看代码

var mydate = new Date();
var date = myDate();

function activeData(){
  if(!isDateBetween(date,'2018/01/30','2018/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") ==> 2006-07-02 08:09:04.423
  // (new Date()).Format("yyyy-M-d h:m:s.S") ==> 2006-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实现时间校验的代码

总结

到此这篇关于JS实现时间校验的代码的文章就介绍到这了,更多相关js 时间校验内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
用js判断用户浏览器是否是XP SP2的IE6
Mar 08 Javascript
JavaScript根据数据生成百分比图和柱状图的实例代码
Jul 14 Javascript
javascript的几种继承方法介绍
Mar 22 Javascript
详解AngularJS 模块化
Jun 14 Javascript
Vue.js在数组中插入重复数据的实现代码
Nov 17 Javascript
Vue+Vux项目实践完整代码
Nov 30 Javascript
Vue的土著指令和自定义指令实例详解
Feb 04 Javascript
详解如何在Vue里建立长按指令
Aug 20 Javascript
Vue创建头部组件示例代码详解
Oct 23 Javascript
JS使用canvas中的measureText方法测量字体宽度示例
Feb 02 Javascript
Vue中使用Lodop插件实现打印功能的简单方法
Dec 19 Javascript
vue打包静态资源后显示空白及static文件路径报错的解决
Sep 02 Javascript
使用Typescript和ES模块发布Node模块的方法
May 25 #Javascript
js 动态校验开始结束时间的实现代码
May 25 #Javascript
使用 Opentype.js 生成字体子集的实例代码详解
May 25 #Javascript
Node.js API详解之 repl模块用法实例分析
May 25 #Javascript
微信小程序仿抖音视频之整屏上下切换功能的实现代码
May 24 #Javascript
如何使用vue slot创建一个模态框的实例代码
May 24 #Javascript
使用React代码动态生成栅格布局的方法
May 24 #Javascript
You might like
Thinkphp模板中使用自定义函数的方法
2012/09/23 PHP
PHP使用GIFEncoder类生成gif动态滚动字幕
2014/07/01 PHP
php生成excel列名超过26列大于Z时的解决方法
2014/12/29 PHP
详解PHP安装mysql.so扩展的方法
2016/12/31 PHP
PHP面相对象中的重载与重写
2017/02/13 PHP
PHP如何使用cURL实现Get和Post请求
2020/07/11 PHP
Avengerls vs KG BO3 第三场2.18
2021/03/10 DOTA
javascript 表单验证常见正则
2009/09/28 Javascript
jquery实现metro效果示例代码
2013/09/06 Javascript
JS中表单的使用小结
2014/01/11 Javascript
jquery的ajax和getJson跨域获取json数据的实现方法
2014/02/04 Javascript
Nodejs进程管理模块forever详解
2014/06/01 NodeJs
如何动态加载外部Javascript文件
2015/12/02 Javascript
深入理解JQuery循环绑定事件
2016/06/02 Javascript
Bootstrap Modal对话框如何在关闭时触发事件
2016/12/02 Javascript
Vue.js 递归组件实现树形菜单(实例分享)
2016/12/21 Javascript
Angular 2 ngForm中的ngModel、[ngModel]和[(ngModel)]的写法
2017/06/29 Javascript
使用express来代理服务的方法
2019/06/21 Javascript
[10:04]国际邀请赛采访专栏:DK.Farseer,mouz.Black^,采访员Josh专访
2013/08/05 DOTA
[54:08]LGD女子刀塔学院 DOTA2炼金术士教学
2014/01/09 DOTA
[51:06]DOTA2-DPC中国联赛 正赛 Elephant vs Aster BO3 第二场 1月26日
2021/03/11 DOTA
Python函数中*args和**kwargs来传递变长参数的用法
2016/01/26 Python
Python unittest模块用法实例分析
2018/05/25 Python
Python代码块批量添加Tab缩进的方法
2018/06/25 Python
Python使用Selenium模块实现模拟浏览器抓取淘宝商品美食信息功能示例
2018/07/18 Python
python操作excel的方法
2018/08/16 Python
Python3将数据保存为txt文件的方法
2019/09/12 Python
欧洲最大的滑雪假期供应商之一:Sunweb Holidays
2018/01/06 全球购物
华为c/c++笔试题
2016/01/25 面试题
通信工程专业女生个人求职信
2013/09/21 职场文书
大学英语演讲稿(中英文对照)
2014/01/14 职场文书
2014村务公开实施方案
2014/02/25 职场文书
《画风》教学反思
2014/04/16 职场文书
2015年教师教学工作总结
2015/04/28 职场文书
冲出亚马逊观后感
2015/06/03 职场文书
Python编程编写完善的命令行工具
2021/09/15 Python