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 相关文章推荐
ArrayList类(增强版)
Apr 04 Javascript
jQuery中ajax的post()方法用法实例
Dec 26 Javascript
推荐一款jQuery插件模板
Jan 09 Javascript
JavaScript截取、切割字符串的技巧
Jan 07 Javascript
javascript中获取元素标签中间的内容的实现方法
Oct 08 Javascript
jQuery实现select下拉框获取当前选中文本、值、索引
May 08 jQuery
Bootstrap 表单验证formValidation 实现远程验证功能
May 17 Javascript
详解Angular2响应式表单
Jun 14 Javascript
原生JS+Canvas实现五子棋游戏实例
Jun 19 Javascript
webpack手动配置React开发环境的步骤
Jul 02 Javascript
VUE:vuex 用户登录信息的数据写入与获取方式
Nov 11 Javascript
vue实现员工信息录入功能
Jun 11 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
yii2学习教程之5种内置行为类详解
2017/08/03 PHP
PHP实现简单注册登录系统
2020/12/28 PHP
两种常用的javascript数组去重方法思路及代码
2013/03/26 Javascript
简单漂亮的js弹窗可自由拖拽且兼容大部分浏览器
2013/10/22 Javascript
node.js中的fs.linkSync方法使用说明
2014/12/15 Javascript
JS时间特效最常用的三款
2015/08/19 Javascript
预防网页挂马的方法总结
2016/11/03 Javascript
angular4 如何在全局设置路由跳转动画的方法
2017/08/30 Javascript
JavaScript中运算符规则和隐式类型转换示例详解
2017/09/06 Javascript
JS中跳出循环的示例代码
2017/09/14 Javascript
React中上传图片到七牛的示例代码
2017/10/10 Javascript
JavaScript实现三级级联特效
2017/11/05 Javascript
vue iview实现动态路由和权限验证功能
2018/04/17 Javascript
Vue 全局loading组件实例详解
2018/05/29 Javascript
JsonProperty 的使用方法详解
2019/10/11 Javascript
提升Python程序运行效率的6个方法
2015/03/31 Python
Python发送email的3种方法
2015/04/28 Python
centos6.8安装python3.7无法import _ssl的解决方法
2018/09/17 Python
python之cv2与图像的载入、显示和保存实例
2018/12/05 Python
Django框架之DRF 基于mixins来封装的视图详解
2019/07/23 Python
Django文件存储 自己定制存储系统解析
2019/08/02 Python
python中dict()的高级用法实现
2019/11/13 Python
Python中的流程控制详解
2021/02/18 Python
Europcar葡萄牙:葡萄牙汽车和货车租赁
2017/10/13 全球购物
Pedro官网:新加坡时尚品牌
2019/08/27 全球购物
绝对经典成功的大学生推荐信
2013/11/08 职场文书
战友聚会邀请函
2014/01/18 职场文书
商场消防演习方案
2014/02/12 职场文书
社会公德演讲稿
2014/05/20 职场文书
安全生产目标管理责任书
2014/07/25 职场文书
经验交流材料格式
2014/12/30 职场文书
努力学习保证书
2015/02/26 职场文书
教师师德表现自我评价
2015/03/05 职场文书
学术会议通知
2015/04/15 职场文书
2019个人工作态度自我评价
2019/04/24 职场文书
React配置子路由的实现
2021/06/03 Javascript