时间正则判定

时间验证

<script type="text/javascript">
function G(id){
    return document.getElementById(id);
}
function check(){
    if(G('date').value.length!=8){
        alert('输入错误,位数应为8位');
        return false;
    }else if(new Date(G('date').value).getDate()==G('date').value.substring(G('date').value.length-2)){
        G('date').value = G('date').value.substr(0,4) + '-' + G('date').value.substr(4,2) + '-' + G('date').value.substr(6,2);
        return true;
    }else{
        alert('日期不合法');
        return false;
    }
}
</script>

完整的时间(开始与结束时间)输入框验证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>

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;  
        }  
原文地址:https://www.cnblogs.com/examine/p/4691353.html