EasyUI的自定义验证规则,验证日期的有效性

function checkDateTime(type,datetime,split){
	var date = datetime.split(" ")[0];
	var time = datetime.split(" ")[1];
	//alert(date + '\n' + time)
	switch (type){
	   case "time"://检查时分秒的有效性
		   var tempArr = time.split(":");
		   if(parseInt(tempArr[0]) > 23){
			   return false;
		   }
		   if(parseInt(tempArr[1]) > 60 || parseInt(tempArr[2]) > 60){
			   return false;
		   }		   
			break;
		case "date"://检查日期的有效性
			var tempArr = date.split("-");	
			if(parseInt(tempArr[1]) == 0 || parseInt(tempArr[1]) > 12){//月份
				return false;
			}
			var lastday=new Date(parseInt(tempArr[0]),parseInt(tempArr[1]),0);//获取当月的最后一天日期			
			if(parseInt(tempArr[2])== 0 || parseInt(tempArr[2]) > lastday.getDate()){//当月的日
				return false;
			}			
			var myDate = new Date(parseInt(tempArr[0]),parseInt(tempArr[1])-1,parseInt(tempArr[2]));				
			if(myDate=="Invalid Date") {		
				return false;
			}
		   break;
	}
	
	return true;
}

/***
 @author ganning
 EasyUI的自定义日期验证规则
 * */
function initCuntValidateBox(){
	//自定义验证规则 名称为myDate
	$.extend($.fn.validatebox.defaults.rules, {
	   myDate: {
	validator: function (mytime, param) {       
	//标准时间格式
	var regStandard = /^\1|2\d{3}-\d{1,2}-\d{1,2} \d{1,2}:\d{1,2}:\d{1,2}$/;	//匹配标准日期格式  2014-1-20 12:10:00
	//日期快速输入格式 	
	var regA =/^\1|2\d{3}-\d{1,2}-\d{1,2}-\d{1,2}-\d{1,2}-\d{1,2}$/;	//匹配日期 和 时\分\秒  2014-1-20-12-10-00 意思是2014-1-20 12:10:00
	var regB =/^\1|2\d{3}-\d{1,2}-\d{1,2}-\d{1,2}-\d{1,2}$/;	//匹配日期 和 时\分  2014-1-20-12-10-00 意思是2014-1-20 12:10
	var regC =/^\1|2\d{3}-\d{1,2}-\d{1,2}$/;	//匹配日期  2014-1-20
	var x = "";
	
	if(!regStandard.test(mytime)){
		if(regA.test(mytime)){			
			var tempArr = mytime.split('-');
			x = tempArr[0] + "-" + tempArr[1] + "-" + tempArr[2] + " " + tempArr[3] + ":" + tempArr[4] + ":" + tempArr[5];					
			/**/	
			if(!(checkDateTime("date",x) && checkDateTime("time",x))) {
				$.fn.validatebox.defaults.rules.myDate.message ="日期格式错误!";
				return false;
			}					
		}else
		if(regB.test(mytime)){			
			var tempArr = mytime.split('-');
			x = tempArr[0] + "-" + tempArr[1] + "-" + tempArr[2] + " " + tempArr[3] + ":" + tempArr[4] + ":00";
			/**/	
			if(!(checkDateTime("date",x) && checkDateTime("time",x))) {
				$.fn.validatebox.defaults.rules.myDate.message ="日期格式错误";
				return false;
			}			
		}else
		if(regC.test(mytime)){
			x = mytime + " 00:00:00";
			/**/
			if(!checkDateTime("date",x)) {
				$.fn.validatebox.defaults.rules.myDate.message ="日期格式错误";
				return false;
			}		
		}else{
			$.fn.validatebox.defaults.rules.myDate.message ="日期格式错误";
			return false;
		}
	}else{
		if(!(checkDateTime("date",mytime) && checkDateTime("time",mytime))) {
			$.fn.validatebox.defaults.rules.myDate.message ="日期格式错误";
			return false;
		}
	}
			return true;
	    },
	        message: ''
	    }
	});
}


 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值