日期验证和身份证验证

//身份证验证,obj1为身份证号码,obj2为身份证代号
function checkIdNo(obj1,obj2){
	var cardNo = obj1.value;
	var slt = obj2.value;
	var isIDCard1 = /^\d{15}$/;
	var isIDCard2 = /^\d{17}(?:\d|x|X)$/;   
	if (slt == "01") {
		if (cardNo != "") {
			if (!(isIDCard1.test(cardNo) || isIDCard2.test(cardNo))) {
				alert("请输入正确身份证格式!");
				obj1.value = "";
				obj1.focus();
				return false;
			}
		}
	}
	return true;
}


//日期验证,日期输入分隔符可以为“-”,“/”,“.”,格式可以为0000-0-0,0000-00-00,0000-00,0000-0,最后都会转换成0000-00-00的格式,由onchange事件调用
function strDateTime(obj) 
  { 
     var dateCard = /^(\d{1,4})(-|\/|\.)(\d{1,2})\2(\d{1,2})$/;
     var dateCard1 = /^(\d{1,4})(-|\/|\.)(\d{1,2})$/;
     if(obj.value != ""){
	  	 if(! (dateCard.test(obj.value)|| (dateCard1.test(obj.value)))){
	  	 	alert("日期格式不正确!\n分割符为\n'-','/','.',\n格式为\n0000-00(0)-00(0),\n0000-00(0)");
	  	 	obj.value="";
	  	 	obj.focus();
	  	 	return false;
	  	 }
	 }
  	 if(dateCard.test(obj.value)){
	     var r = obj.value.match(dateCard); 
	     if(r==null)return false; 
	     var d= new Date(r[1], r[3]-1, r[4]); 
	     var year = d.getFullYear();
	     var month = d.getMonth() + 1;
	     var day = d.getDate();
	     if(0 < month && month < 10){
	     	month = "0" + month;
	     } 
	     if(0 < day && day < 10){
	     	day = "0" + day;
	     }
	     obj.value = year+"-"+month+"-"+day;
	 }
	 if(dateCard1.test(obj.value)){
	     var r = obj.value.match(dateCard1); 
	     if(r==null)return false; 
	     var d= new Date(r[1], r[3]-1); 
	     var year = d.getFullYear();
	     var month = d.getMonth() + 1;
	     //var day = d.getDate();
	     if(0 < month && month < 10){
	     	month = "0" + month;
	     } 
	     if(0 < day && day < 10){
	     	day = "0" + day;
	     }
	     obj.value = year+"-"+month;
	 }
	 return true;
  } 

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