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 模式实例 观察者模式
Oct 24 Javascript
JS高级笔记
Jul 13 Javascript
javascrip关于继承的小例子
May 10 Javascript
node.js中的http.response.end方法使用说明
Dec 14 Javascript
javascript实现避免页面按钮重复提交
Jan 08 Javascript
全面解析Bootstrap中tab(选项卡)的使用方法
Jun 06 Javascript
把多个JavaScript函数绑定到onload事件处理函数上的方法
Sep 04 Javascript
Node.js中看JavaScript的引用
Apr 22 Javascript
基于Vue的ajax公共方法(详解)
Jan 20 Javascript
vue router+vuex实现首页登录验证判断逻辑
May 17 Javascript
Angular请求防抖处理第一次请求失效问题
May 17 Javascript
vue 图片裁剪上传组件的实现
Nov 12 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
为PHP初学者的8点有效建议
2010/11/20 PHP
作为PHP程序员应该了解MongoDB的五件事
2013/06/03 PHP
node.js中的fs.unlinkSync方法使用说明
2014/12/15 Javascript
jQuery实现高亮显示的方法
2015/03/10 Javascript
JavaScript中使用指数方法Math.exp()的简介
2015/06/15 Javascript
jquery跟随屏幕滚动效果的实现代码
2016/04/13 Javascript
微信小程序开发之入门实例教程篇
2017/03/07 Javascript
js判断用户是输入的地址请求的路径(实例讲解)
2017/07/18 Javascript
基于 Vue 的树形选择组件的示例代码
2017/08/18 Javascript
浅谈React的最大亮点之虚拟DOM
2018/05/29 Javascript
详解webpack运行Babel教程
2018/06/13 Javascript
利用JavaScript缓存远程窃取Wi-Fi密码的思路详解
2018/11/05 Javascript
如何在基于vue-cli的项目自定义打包环境
2018/11/10 Javascript
记一次用vue做的活动页的方法步骤
2019/04/11 Javascript
JavaScript中break、continue和return的用法区别实例分析
2020/03/02 Javascript
如何通过Proxy实现JSBridge模块化封装
2020/10/22 Javascript
[42:20]Winstrike vs VGJ.S 2018国际邀请赛淘汰赛BO3 第二场 8.23
2018/08/24 DOTA
Python解析nginx日志文件
2015/05/11 Python
python安装Scrapy图文教程
2017/08/14 Python
python 监听salt job状态,并任务数据推送到redis中的方法
2019/01/14 Python
只需7行Python代码玩转微信自动聊天
2019/01/27 Python
Python数据类型之Dict字典实例详解
2019/05/07 Python
Python中的self用法详解
2019/08/06 Python
用Python画一个LinkinPark的logo代码实例
2019/09/10 Python
从零开始的TensorFlow+VScode开发环境搭建的步骤(图文)
2020/08/31 Python
详解纯CSS3制作的20种loading动效
2017/07/05 HTML / CSS
苹果香港官方商城:Apple香港
2016/09/14 全球购物
岗位职责定义及内容
2013/11/08 职场文书
《我爱祖国》演讲稿1000字
2014/09/26 职场文书
教师对照四风自我剖析材料
2014/09/30 职场文书
酒店人事主管岗位职责
2015/04/11 职场文书
2015年社区民政工作总结
2015/04/21 职场文书
政协工作总结2015
2015/05/20 职场文书
2016年九九重阳节活动总结
2016/04/01 职场文书
python 详解turtle画爱心代码
2022/02/15 Python
Java中Dijkstra(迪杰斯特拉)算法
2022/05/20 Java/Android