【js】时间日期校验

本文介绍了JavaScript中进行时间日期校验的通用方法,并探讨了使用laydate组件进行时间日期验证的具体实现方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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
     };
  };
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值