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 相关文章推荐
让 JavaScript 轻松支持函数重载 (Part 2 - 实现)
Aug 04 Javascript
JQuery Tips(4) 一些关于提高JQuery性能的Tips
Dec 19 Javascript
JavaScript和CSS通过expression实现Table居中显示
Jun 28 Javascript
JavaScript加强之自定义event事件
Sep 21 Javascript
jQuery自带的一些常用方法总结
Sep 03 Javascript
Jquery设置attr的disabled属性控制某行显示或者隐藏
Sep 25 Javascript
JavaScript限定图片显示大小的方法
Mar 11 Javascript
详解JavaScript中Hash Map映射结构的实现
May 21 Javascript
详解Vue微信公众号开发踩坑全记录
Aug 21 Javascript
3种vue路由传参的基本模式
Feb 22 Javascript
vue后台管理之动态加载路由的方法
Aug 13 Javascript
vue-cli脚手架打包静态资源请求出错的原因与解决
Jun 06 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
搜索引擎技术核心揭密
2006/10/09 PHP
PHP 的几个配置文件函数
2006/12/21 PHP
PHP通过COM使用ADODB的简单例子
2006/12/31 PHP
PHP采集相关教程之一 CURL函数库
2010/02/15 PHP
PHP使用CURL获取302跳转后的地址实例
2014/05/04 PHP
PHP函数shuffle()取数组若干个随机元素的方法分析
2016/04/02 PHP
php模式设计之观察者模式应用实例分析
2019/09/25 PHP
Extjs入门之动态加载树代码
2010/04/09 Javascript
jQuery 遍历-nextUntil()方法以及prevUntil()方法的使用介绍
2013/04/26 Javascript
js浮点数保留两位小数点示例代码(四舍五入)
2013/12/26 Javascript
如何动态的导入js文件具体该怎么实现
2014/01/14 Javascript
使用jquery animate创建平滑滚动效果(可以是到顶部、到底部或指定地方)
2014/05/27 Javascript
Javascript遍历table中的元素示例代码
2014/07/08 Javascript
jquery正则表达式验证(手机号、身份证号、中文名称)
2015/12/31 Javascript
Asp.Net之JS生成分页条的方法
2016/11/23 Javascript
js原生之焦点图转换加定时器实例
2016/12/12 Javascript
JavaScript利用闭包实现模块化
2017/01/13 Javascript
原生js更改css样式的两种方式
2017/03/15 Javascript
Vue实现移动端页面切换效果【推荐】
2018/11/13 Javascript
在vue中使用setInterval的方法示例
2019/04/16 Javascript
vue动态注册组件实例代码详解
2019/05/30 Javascript
Vue使用预渲染代替SSR的方法
2020/07/02 Javascript
[01:16:28]DOTA2-DPC中国联赛 正赛 iG vs Magma BO3 第二场 2月23日
2021/03/11 DOTA
PyQt4实现下拉菜单可供选择并打印出来
2018/04/20 Python
对python For 循环的三种遍历方式解析
2019/02/01 Python
彻底理解Python中的yield关键字
2019/04/01 Python
Django项目使用CircleCI的方法示例
2019/07/14 Python
TensorFlow实现指数衰减学习率的方法
2020/02/05 Python
PyCharm取消波浪线、下划线和中划线的实现
2020/03/03 Python
HTML5中的websocket实现直播功能
2018/05/21 HTML / CSS
吉列剃须刀美国官网:Gillette美国
2018/07/13 全球购物
英国美术用品购物网站:Cass Art
2019/10/08 全球购物
大学生2014全国两会学习心得体会
2014/03/10 职场文书
中学教师师德师风演讲稿
2014/08/22 职场文书
《分一些蚊子进来》读后感3篇
2020/01/09 职场文书
分享一个vue实现的记事本功能案例
2022/04/11 Vue.js