JS验证日期是否有效的函数

在开发中,经常要输入日期作为查询条件,而日期的有效验证尤为重要,特附上前端JS中的日期验证函数:

/**验证日期输入是否正确**/
	function validateDateIsOK(bTimeId,eTimeId,bTxt,eTxt){
		var beginDate=document.getElementById(bTimeId);
		var endDate=document.getElementById(eTimeId);
		var beginArray=beginDate.value.split('-');
		var endArray=endDate.value.split('-');
		bTxt=bTxt==''?'开始时间':bTxt;
		eTxt=eTxt==''?'结束时间':eTxt;
		if (beginArray!=null&&beginArray.length>0) {
			for (var i = 0; i < beginArray.length; i++) {
				var firstNum=parseInt(beginArray[i].replace(/^{0,\d}/g,""));
				var secondNum=parseInt(endArray[i].replace(/^{0,\d}/g,""));
				if (i==0&&firstNum<secondNum) {//比较年份
					return true;
				}else if(i>0&&firstNum<secondNum){//比较月份和天数
					return true;
				}else if(firstNum>secondNum){//开始时间大于结束时间
					alert(eTxt+'必须大于'+bTxt);
					beginDate.value='';
					return false;
				}else if(i==2&&firstNum==secondNum){//比较天数,如果相等
					alert(eTxt+'必须大于'+bTxt);
					beginDate.value='';
					return false;				
				}
				firstNum=secondNum=null;
			}
		}
	}
	/**通用校验日期方法**/
	function commonCheckDate(bTimeId,eTimeId,bTxt,eTxt){
		var beginDate=document.getElementById(bTimeId);
		var endDate=document.getElementById(eTimeId);
		bTxt=bTxt==''?'开始时间':bTxt;
		eTxt=eTxt==''?'结束时间':eTxt;
		if (beginDate.value!=''&&endDate.value=='') {
			alert('请输入'+eTxt);
			return false;
		}else if (beginDate.value==''&&endDate.value!='') {
			alert('请输入'+bTxt);
			return false;
		}else if(beginDate.value!=''&&endDate.value!=''){
			return validateDateIsOK(bTimeId,eTimeId,bTxt,eTxt);
		}
		return true;
	}

转载于:https://my.oschina.net/forzamilan/blog/14291

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值