JS,JQuery日期校验

JS日期校验

要求: 为4、6、8位数字。年为4位、月为2位、日为2位

var rq = $("#RQ").val();
			if(!isNaN(rq)){
				if(rq.length==6){
					//$("#RQ").val(rq+"01");
					var year = Number(rq.substr(0,4));
					var month = Number(rq.substr(4,2));
					if(month === 0 || month > 12){
						alert("请输入正确的格式,可输入四位、六位、八位,月份要小于等于12!");
						$("#RQ").val(rq.substr(0,4));
					}
				}else if(rq.length==4){
					//$("#RQ").val(rq+"0101");
				}else if(rq.length==8){
					var year = Number(rq.substr(0,4));
					var month = Number(rq.substr(4,2));
					var date = Number(rq.substr(6,2));
					if(month > 12){
						alert("请输入正确的格式,可输入四位、六位、八位,月份要小于等于12!");
						$("#RQ").val(rq.substr(0,4));
					}
					if(month == 0){
						alert("请输入正确的格式,可输入四位、六位、八位,月份不能为00!");
						$("#RQ").val(rq.substr(0,4));
					}
					if(date == 0){
						alert("请输入正确的格式,可输入四位、六位、八位,日期不能为00!");
						$("#RQ").val(rq.substr(0,6));
					}
					
					//大月天数不大于31
					if((month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month ==  10 || month ==  12)&& (date > 31)){
						alert("请输入正确的格式,可输入四位、六位、八位,大月日期要小于等于31!");
						$("#RQ").val(rq.substr(0,6));
					}
					//小月天数不大于30
					if((month == 4 || month == 6 || month ==  9 || month ==  11)&& (date > 30)){
						alert("请输入正确的格式,可输入四位、六位、八位,小月日期要小于等于30!");
						$("#RQ").val(rq.substr(0,6));
					}
					//二月特殊处理
					if(month == 2){
						if(((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) && (date > 29)){  
							alert("请输入正确的格式,可输入四位、六位、八位,闰年二月日期要小于等于29!");
							$("#RQ").val(rq.substr(0,6));
						}else if(date > 28){
							alert("请输入正确的格式,可输入四位、六位、八位,二月日期要小于等于28!");
							$("#RQ").val(rq.substr(0,6));
						}
					}
				}else{
					alert("请输入正确的格式,可输入四位,六位,八位.!");
				}
			}else{
				alert("请输入正确的格式,必须为日期!");
			}

你可能感兴趣的:(JavaScript,jquery)