﻿//判断日期
function IsDate(DateString) 
{ 
	if (DateString==null) return false; 
	var tempy=""; 
	var tempm="";   
	var tempd=""; 
	var tempArray; 
	timeString="";
	DateString=Trim(DateString).toString();
	if(DateString.indexOf(" ")>=0){
		timeString=Trim(DateString.substring(DateString.indexOf(" ")+1,DateString.length)).toString();
		DateString=Trim(DateString.substring(0,DateString.indexOf(" ")+1,DateString.length)).toString();
	}
	tempArray = DateString.split("-"); 
	if (tempArray.length!=3) 
	return false; 
	if (tempArray[0].length==4) 
	{ 
		tempy = tempArray[0]; 
		tempd = tempArray[2]; 
	} 
	else 
	{ 
		tempy = tempArray[2]; 
		tempd = tempArray[1]; 
	} 
	tempm = tempArray[1]; 
	var tDateString = tempy + "/"+tempm + "/"+tempd+" 8:0:0";
	var tempDate = new Date(tDateString); 
	if (isNaN(tempDate)) 
	return false; 
	if (((tempDate.getUTCFullYear()).toString()==tempy) && (tempDate.getMonth()==parseInt(tempm)-1) && (tempDate.getDate()==parseInt(tempd))) 
	{ 
		tempArray=timeString.split(":");
		if(!IsInt(tempArray[0])||tempArray[0]*1<1||tempArray[0]>12)return false;
		if(tempArray.length>1&&(!IsInt(tempArray[1])||tempArray[1]*1<0||tempArray[1]>50))return false;
		if(tempArray.length>2&&(!IsInt(tempArray[1])||tempArray[2]*1<0||tempArray[2]>50))return false;
		return true; 
	} 
	else 
	{ 
		return false; 
	} 
} 

	 

 
 
 

	 

 
 


 



 

/*

==================================================================
去掉右空格

==================================================================

*/



/*

==================================================================
去掉前后空格
==================================================================

*/

function IsEmpty(obj){
    obj=document.getElementsByName(obj).item(0);
    if(Trim(obj.value)==""){     
        if(obj.disabled==false && obj.readOnly==false){
            obj.focus();
        }
    }
}

/*
判断某一字串是否为整数
*/
function IsInt(objStr,sign,zero){
    var reg;    
    var bolzero;    
    if(Trim(objStr)==""){
        return false;
    }else{
        objStr=objStr.toString();
    }    
    if((sign==null)||(Trim(sign)=="")){
        sign="+-";
    }
    if((zero==null)||(Trim(zero)=="")){
        bolzero=false;
    }else{
        zero=zero.toString();
        if(zero=="0"){
            bolzero=true;
        }else{
            bolzero=false;

        }
    }
    switch(sign){
        case "+-":
    
            reg=/(^-?|^\+?)\d+$/;            
            break;
        case "+": 
            if(!bolzero){
                reg=/^\+?[0-9]*[1-9][0-9]*$/;
            }else{
                
                //reg=/^\+?\d+$/;
                reg=/^\+?[0-9]*[0-9][0-9]*$/;
            }
            break;
        case "-":
            if(!bolzero){
                reg=/^-[0-9]*[1-9][0-9]*$/;
            }else{
                
                //reg=/^-\d+$/;
                reg=/^-[0-9]*[0-9][0-9]*$/;
            }            
            break;
        default:
 
            return false;
            break;

    }
    var r=objStr.match(reg);
    if(r==null){
        return false;
    }else{        
        return true;     
    }
}



/*判断某字串是否为浮点数**/
function IsFloat(objStr,sign,zero){
    var reg;    
    var bolzero;    
    if(Trim(objStr)==""){
        return false;
    }else{
        objStr=objStr.toString();
    }      
    if((sign==null)||(Trim(sign)=="")){
        sign="+-";
    }
    if((zero==null)||(Trim(zero)=="")){
        bolzero=false;
    }else{
        zero=zero.toString();
        if(zero=="0"){
            bolzero=true;
        }else{
            bolzero=true;
        }
    }
    switch(sign){
        case "+-":
    
            reg=/^((-?|\+?)\d+)(\.\d+)?$/;
            break;
        case "+": 
            if(!bolzero){
           
                reg=/^\+?(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$/;
            }else{
     
                reg=/^\+?\d+(\.\d+)?$/;
            }
            break;
        case "-":
            if(!bolzero){
       
                reg=/^-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$/;
            }else{
     
                reg=/^((-\d+(\.\d+)?)|(0+(\.0+)?))$/;
            }            
            break;
        default:
            return false;
            break;
    }
	var r=objStr.match(reg);
    if(r==null){
        return false;
    }else{        
        return true;     
    }
}

//判断长度

//判断长度
//参数：源字串，最小长度，最大长度，判断的名称 
function judgestrlen(sourcestr,minlen,maxlen,callname){
	if(Trim(sourcestr).length==0&&minlen>0){
			alert(callname+"不能为空");
			return false;
		}
	if(Trim(sourcestr).length<minlen){
			alert(callname+"长度不能小于"+minlen);
			return false;
	}
		if(Trim(sourcestr).length>maxlen&&maxlen>0){
			alert(callname+"长度不能大于"+maxlen);
			return false;
	}
	return true;
}
function judgeValidate(sourcestr,minlen,maxlen,callname,validate){
	if(!judgestrlen(sourcestr,minlen,maxlen,callname))return false;
	

	if(validate=="zh"){
		try{
				if(sourcestr!=""&&!IsChinese(sourcestr)){
					alert(callname+"必须是中文");
					return false;
				}
			}catch(ex){}
		}
		if(validate=="en"){
			try{
				if(sourcestr!=""&&!IsChinese(sourcestr)){
					alert(callname+"必须是英文或数字");
					return false;
				}
			}catch(ex){}
		}
 		
 		if(validate=="email"){
			try{
				if(sourcestr!=""&&!IsEmail(sourcestr)){
					alert(callname+"不是合法email地址");
					return false;
				}
			}catch(ex){}
		}
		if(validate=="date"){
			try{
				if(sourcestr!=""){
			 
 				nowdate=getinputdatetime(sourcestr);
 				
 		 
				if(nowdate==null){
					alert(callname+"不是合法日期");
					return false;
				}
			}
			}catch(ex){}
		}
		if(validate=="mobile"||validate=="手机"){
			try{
				if(sourcestr!=""&&!IsMobile(sourcestr)){
					alert(callname+"不是合法手机号码");
					return false;
				}
			}catch(ex){}
		}
		if(validate=="int"){
			try{
				if(sourcestr!=""&&!IsInt(sourcestr)){
					alert(callname+"必须是整数");
					return false;
				}
			}catch(ex){}
		}
		if(validate=="float"){
			try{
				if(sourcestr!=""&&!IsFloat(sourcestr)){
					alert(callname+"必须是浮点数");
					return false;
				}
			}catch(ex){}
		}
		
		if(validate.indexOf("reg_")>=0){
			try{
				validate=validate.substring(4,validate.length);
			 
				if(sourcestr!=""&&!regJudge(sourcestr,validate)){
					alert(callname+"不合法");
					return false;
				}
			}catch(ex){}
		}
		return true;
		
}



//判断是否合法的Email格式 
function IsEmail(emailname){
	if(emailname==""){
			alert("E-mail不能为空");
			
		return true;
	}
	 regEmail =  /\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/;
	if(!regEmail.test(emailname)){
			  	alert("E-mail格式错误!");
		return false;
	}
	return true;
}

function judgeinput(inputstr,showname){

		return true;
}

//判断是否合法的手机号码
function IsMobile(objstr){
	if(objstr==""){
			alert("手机不能为空");
			return false;
	}
	if(objstr.length!=11||!IsInt(objstr)){
		alert("手机号码只能11位");
		return false;
	}
	regMobile =  /^((\(\d{3}\))|(\d{3}\-))?13\d{9}$/;
	if(!regMobile.test(objstr)){
			  	alert("手机格式错误!");
			  return false;
	} 	
	return true;
}

function specialString(string)  
{ 
	compare =  "~!#@%^&*();'\"?><[]{}\\|,:/=+`$";
	for (var i=0;i<compare.length;i++){ 
		if (compare.indexOf(string.charAt(i))>0) 
			return true;  //输入不合法
	}
	return false;  //输入合法
}

function check(strInfo)
{	
	if(specialString(strInfo))
	{
		alert("输入不合法!");
	}	
}

function   isChinese(astr){   
  var   chReg   =      /[u00-uFF]/;     
  return  !chReg.test(astr);   
}
function   isEnglish(astr){   
  var   enReg   =      /[u00-uFF]/;     
  return  enReg.test(astr);   
}    
    
//判断字串是否符合正则表达式
function regJudge(sourceStr,regStr){
	try{
		var jre = new RegExp(regStr,"gi");
		jr=jre.exec(sourceStr);
		if(jr!=null&&jr!=""&&jr!=""){;
			return true;
		} 
		}catch(ex){
			
			//showSystemLog(ex,3);
		}
 
	return false;
}
