本文实例为大家分享了js实现时间日期校验的具体代码,供大家参考,具体内容如下

1. 通用的时间校验方式

$.validator.addMethod("validatestart", function(value, element) {
  var start = new Date($('#startTime').val()).getTime();
  var end = new Date($('#endTime').val()).getTime();
  if(end < start){
   return false;
  }else{
   return true;
  }
 }, "开始时间必须小于结束时间!");

 $.validator.addMethod("validateend", function(value, element) {
  var start = new Date($('#startTime').val()).getTime();
  var end = new Date($('#endTime').val()).getTime();
  if(end < start){
   return false;
  }else{
   return true;
  }
 }, "结束时间必须大于开始时间!");

2. 如果用的laydate组件,也可以用以下的方法

var startTime = "";
var endTime = "";
 
 startTime = laydate.render({
  elem : '#startTime',
  type : 'datetime',
  trigger: 'click', //使触发方式为click,解决一闪而过的问题
  change: function(value, dates, edate){  //实现双击可选中
   $(".layui-laydate").find("td[class='layui-this']").dblclick(function(){
    $(".layui-laydate").remove();
    $("#startTime").val(value);
    endTimeControl(date);  //控制结束时间的最小值
   });
  },
  done : function(value, date){
   endTimeControl(date);
  }
 });

 endTime = laydate.render({
   elem : '#endTime',
   type : 'datetime',
   trigger: 'click', //使触发方式为click,解决一闪而过的问题
   change: function(value, dates, edate){  //实现双击可选中
    $(".layui-laydate").find("td[class='layui-this']").dblclick(function(){
     $(".layui-laydate").remove();
     $("#endTime").val(value);
     startTimeControl(date);
    });
   },
   done : function(value, date){
    startTimeControl(date);
   }
 });

 /** 结束时间控制 */
 function endTimeControl(date){
  endTime.config.min = {
   year: date.year,
   month: date.month - 1,
   date: date.date,
   hours: 0,
   minutes: 0,
   seconds: 0
  };
 };
 
 /** 开始时间控制 */
 function startTimeControl(date){
  startTime.config.max = {
   year: date.year,
   month: date.month - 1,
   date: date.date,
   hours: 0,
   minutes: 0,
   seconds: 0
  };
 };

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!