function isEmpty(str){//确保数据是否为空
  if((str==null)||(str.length==0)){
     return true;
  }else{
     return false;
  }
}

function isBetween(val,lo,hi){//确保数据val在参数lo和hi范围内
  if((val<lo)||(val>hi)){
    return false;
  }else{
    return true;
  }
}

function isSame(val1,val2){//判断两个数据是否相同！
  if(val1==val2){
     return true;
  }else{
     return false;
  }
}

function isDigit(theNum){//确保数据是一个有效的数字
  var theMast="0123456789";
  if(isEmpty(theNum)){
     return false;
  }else if(theMast.indexOf(theNum)==-1){
     return false;
  }else{
     return true;
  }
}

function isInt(theStr){//确保数据是一个有效的整数
  var flag=true;
  if(isEmpty(theStr)){
     flag=false;
  }else{
     for(var i=0;i<theStr.length;i++){
        if(isDigit(theStr.substring(i,i+1))==false){
           flag=false;
		   break;
		}
	 }
  }
  return flag;
}

function isRegExp(str){//确保数据是符合标准(中文字符、a-z的大小写英文字母、0-9的数字或下划线)的数据
   var strRegExp=new RegExp("\w","g");
   if(str.test(strRegExp)){
     return true;
   }else{
     return false;
   }
}

function isDate(theStr){//确保数据是一个效的日期值（格式为：月/日/年）
  var the1st=theStr.indexOf("/");
  var the2nd=theStr.lastIndexOf("/");
  if(the1st==the2nd){
	 return false;
  }else{
     var m=theStr.substring(0,the1st);
	 var d=theStr.substring(the1st+1,the2nd);
	 var y=theStr.substring(the2nd+1,theStr.length);
	 var maxDays=31;
	 if(isInt(m)==false||isInt(d)==false||isInt(y)==false){
        return false;
	 }else if(m.length<2||d.length<2){
        return false;
	 }else if(y.length<4){
        return false;
	 }else if(!isBetween(m,1,12)){
        return false;
	 }else if(m==4||m==6||m==9||m==11){
        maxDays=30;
	 }else if(m==2){
        if(y%4>0){
          maxDays=28;
		}else if(y%100==0&&y%400>0){
          maxDays=28;
		}else{
          maxDays=29;
		}
	 }
	 if(isBetween(d,1,maxDays)==false){
        return false;
	 }else{
		return true;
	 }
  }
}


function isMagazineInput(theStr){//确保数据符合格式：2002-01）
  var the1st=theStr.indexOf("-");
  var the2nd=theStr.lastIndexOf("-");
  if(the1st!=the2nd){
	 return false;
  }else{
     var y=theStr.substring(0,the1st);
	 var m=theStr.substring(the1st+1,theStr.length);
	 var maxDays=31;
	 if(isInt(m)==false||isInt(y)==false){
        return false;
	 }else if(m.length!=2||m=="00"){
        return false;
	 }else if(y.length!=4||y=="0000"){
        return false;
	 }else{
		return true;
	 }
  }
}

function isYearMonthInput(theStr){//确保数据符合格式：2002-01）
  var the1st=theStr.indexOf("-");
  var the2nd=theStr.lastIndexOf("-");
  if(the1st!=the2nd){
	 return false;
  }else{
     var y=theStr.substring(0,the1st);
	 var m=theStr.substring(the1st+1,theStr.length);
	 var maxDays=31;
	 if(isInt(m)==false||isInt(y)==false){
        return false;
	 }else if(m.length!=2||m=="00"||m>12){
        return false;
	 }else if(y.length!=4||y=="0000"){
        return false;
	 }else{
		return true;
	 }
  }
}


/*function isTime(theStr){//确保数据是一个有效的时间值（格式为：HH:MM）
  var colonDex=theStr.indexOf(":");
  if((colonDex<1)||(colonDex>2)){
     return false;
  }else{
     var hh=theStr.substring(0,colonDex);
	 var ss=theStr.substring(colonDex+1,theStr.length);
	 if((hh.length<1)||(hh.length>2)||(!isInt(hh))){
        return false;
	 }else if((ss.length<1)||(ss.length>2)||(!isInt(ss))){
        return false;
	 }else if((!isBetween(hh,0,23))||(!isBetween(ss,0,59))){
        return false;
	 }else{
        return true;
	 }
  }
}*/

function isEmail(theStr){//确保数据是一个有效的Email地址，此函数仅仅检查输入中是否有"@"和"."
  var atIndex=theStr.indexOf("@");
  var dotIndex=theStr.indexOf(".",atIndex);
  var flag=true;
  theSub=theStr.substring(0,dotIndex+1);
  if((atIndex<1)||(atIndex!=theStr.lastIndexOf("@"))||(dotIndex<atIndex+2)||(theStr.length<=theSub.length)){
     flag=false;
  }else{
     flag=true;
  }
  return flag;
}

function isReal(theStr,decLen){//确保数据是一个有效的实数
  var dot1st=theStr.indexOf(".");
  var dot2nd=theStr.lastIndexOf(".");
  var OK=true;
  if(isEmpty(theStr)){
     return false;
  }
  if(dot1st==-1){
 	 return false;
  }else if(dot1st!=dot2nd){
     return false;
  }else if(dot1st==0){
     return false;
  }else{
     var intPart=theStr.substring(0,dot1st);
	 var decPart=theStr.substring(dot2nd+1);
	 if(decPart.length!=decLen){
		 return false;
	 }else if(!isInt(intPart)||!isInt(decPart)){
         return false;
	 }else if(isEmpty(decPart)){
         return false;
	 }else{
	     return true;	 
     }
  }
}

function isUserName(Str){
    var Letters="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890_";
    var i;
    var c;
    if(Str.charAt(0)=='-'){
	   return false;
	}
    if(Str.charAt(Str.length-1)=='-'){
       return false;
	}
    for(i=0;i<Str.length;i++){
       c=Str.charAt(i);
	   if(Letters.indexOf(c)<0){
	     return false;
	   }
    }
    return true;
}
