时间正则判定

完整的时间(开始与结束时间)输入框验证js

1、html

(1)时间输入框

当使用时间插件改变时间时,会触发onchange()事件  

<p><span class="search_name">起始时间:</span>
    <input type="text" id="starttime" readonly="readonly"
    onfocus="WdatePicker({dateFmt:‘yyyy-MM-dd HH:mm:ss‘,lang:‘zh-cn‘,maxDate:‘%y-%M-%d‘,minDate:‘%y-%M-<%=a%>{%d-2}‘})"
    onchange="checkNull(‘starttime‘)"/>
</p>
<p><span class="search_name">结束时间:</span>
    <input type="text" id="endtime" readonly="readonly"
    onfocus="WdatePicker({dateFmt:‘yyyy-MM-dd HH:mm:ss‘,lang:‘zh-cn‘,maxDate:‘%y-%M-%d‘,minDate:‘%y-%M-<%=a%>{%d-2}‘})"
    onchange="checkNull(‘endtime‘)"/>
</p>  //查询<button type="button" onclick="query()" class="search_btn">查询</button> 

2、js

function checkNull(id){
            //开始时间
            if(id == "starttime"){
                startTime = $("#starttime").val();  

                if(isNull(startTime)){
                    alert("起始时间不能为空");
                    return false;
                }
                return true;
            }  

            //结束时间
            if(id == "endtime"){
                endTime = $("#endtime").val();  

                if(isNull(endTime)){
                    alert("结束时间不能为空");
                    return false;
                }
                return true;
            }
        }  

        /*
            检测开始时间是否小于结束时间(字符串也可以之间比较难控制相差的时间长度,使用毫秒计算) */
        function checkDate(){
            var startTimeMills = getDateMillsByDateString("starttime");
            var endTIimeMills =  getDateMillsByDateString("endtime");
            //开始时间和结束世间的最大间隔:3天
            var interval = 3*24*60*60*1000;  

            if(startTimeMills < endTIimeMills && 0 < endTIimeMills - startTimeMills < interval){
                return true;
            }
            alert("起始时间需要小于结束时间");
            return false;
        }  

        /*
            查询 操作*/
        function query(){
            if(!checkNull(‘starttime‘)){
                return ;
            }
            if(!checkNull(‘endtime‘)){
                return;
            }
            if(!checkDate()){
                return;
            }  

            $("#form1").submit();
        }  

        //将字符串时间(yyyy-MM-dd HH:mm:ss)转换成毫秒
        function getDateMillsByDateString(timeId){
            var timeStr = $("#" + timeId).val();  

            var dateAndTimeArray = timeStr.split(" ");
            var dateArray = dateAndTimeArray[0].split("-");
            var timeArray = dateAndTimeArray[1].split(":");  

            var date = new Date(dateArray[0],dateArray[1],dateArray[2],timeArray[0],timeArray[1],timeArray[2]);  

            var dateMills = date.getTime();  

            return dateMills;
        }  

        //判断字符串时间是否为空
        function isNull(timeString){
            if(timeString == null || timeString == ""){
                return true;
            }
            return false;
        }  
时间: 2024-09-28 13:06:37

时间正则判定的相关文章

是否工作日节假日判定

根据节假日表分析当前日期是否属于节假日配置表的时间以及判定当前日期是否属于双休日 首先建一张节假日表TRA_PricingHoliday  ID  节假日时间  HDate   是否工作日 HType  2表示不上班 非工作日,1表示正常上班工作日 判定代码: private string _strWorkingDayAM = "00:00";//工作时间 private string _strWorkingDayPM = "23:59"; private stri

静态和伪静态

一.伪静态的用处 有些用户觉得,伪静态和真静态实际被收录量会相差很大,实在不然,从你个人角度,你去判定一下一个帖子到底是真静态还是伪静态?估计很丢脸得出,由于所谓静态的意思,就是地址中不带问号,不带问号的就是静态,管他是真的还是伪的?搜索引擎看得出吗?所以说,实在不论是真的还是伪的,实在对于搜索引擎来说都是一样的,搜索引擎没有说,你这个是伪的,我不收录你. 追根究底来说,为什么搜索引擎会不收录带问号的网址?由于搜索引擎怕由于问号而进入死循环,称为“搜索机器人陷阱(Spidertraps)”(以前

JavaScript --经典问题

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Georgia; color: #333333 } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Verdana; color: #333333 } p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Courier New"; color: #2b2b2b } p.

面试题--1

javascript: JavaScript中如何检测一个变量是一个String类型?请写出函数实现 typeof(obj) === "string" typeof obj === "string" obj.constructor === String 请用js去除字符串空格? 方法一:使用replace正则匹配的方法 去除所有空格: str = str.replace(/\s*/g,""); 去除两头空格: str = str.replace(

Model、Form、ModelForm

本节内容: 1:Model 2:Form 3:Model 1 2 3 http://www.cnblogs.com/wupeiqi/articles/6144178.html  武sir:Form组件 http://www.cnblogs.com/wupeiqi/articles/6216618.html  武sir:Model http://www.cnblogs.com/wupeiqi/articles/6229414.html  武sir:ModelForm Model ==> 强大的数据

javascript 最权威的知识点总结

JavaScript中如何检测一个变量是一个String类型?请写出函数实现typeof(obj) === "string"typeof obj === "string"obj.constructor === String请用js去除字符串空格?方法一:使用replace正则匹配的方法 去除所有空格: str = str.replace(/\s*/g,""); 去除两头空格: str = str.replace(/^\s*|\s*$/g,&quo

redis的sentinel主从切换(failover)与Jedis线程池自动重连

本文介绍如何通过sentinel监控redis主从集群,并通过jedis自动切换ip和端口. 1.配置redis主从实例 10.93.21.21:6379 10.93.21.21:6389 10.93.21.21:6399 主从同步关系 master:10.93.21.21:6379 slave:10.93.21.21:6389,10.93.21.21:6399 master配置如下: # 实例ip和端口 bind 10.93.21.21 port 6379 # pid文件 pidfile re

AbstractQueuedSynchronizer的介绍和原理分析(转)

简介 提供了一个基于FIFO队列,可以用于构建锁或者其他相关同步装置的基础框架.该同步器(以下简称同步器)利用了一个int来表示状态,期望它能够成为实现大部分同步需求的基础.使用的方法是继承,子类通过继承同步器并需要实现它的方法来管理其状态,管理的方式就是通过类似acquire和release的方式来操纵状态.然而多线程环境中对状态的操纵必须确保原子性,因此子类对于状态的把握,需要使用这个同步器提供的以下三个方法对状态进行操作: java.util.concurrent.locks.Abstra

Modbus从机(服务器)通讯设计

摘要:本文在国家标准GB/T 19582-2008的框架下,讨论Modbus协议在串行链路RS485以及TCP/IP上的实现过程和注意事项.涉及到Modbus帧界定.lwip协议栈移植等关键内容,对于难度较大的读写多个线圈命令,本文给出了关键源代码. 1. 简介 从1979年开始,Modbus作为工业串行链路的事实标准,Modbus使成千上万的自动化设备能够通信.目前,对简单而精致的Modbus结构的支持仍在增长.互联网用户能够使用TCP/IP栈上的保留系统端口502访问Modbus. Modb