
function chkuname(uname){
  var filter=/^\s*[.A-Za-z0-9_-]{3,15}\s*$/;
  if (!filter.test(uname)) { 
    //alert("用户名填写不正确,请重新填写！可使用的字符为（A-Z a-z 0-9 _ - .)长度不小于3个字符，不超过15个字符，注意不要使用空格。"); 
    return false; 
  }
  return true;
}

//函数名：chkblank
//功能介绍：检查是否存在空格
//参数说明：str 要检查的字符串
//返回值：false or true
function chkblank(str){
  if (str.indexOf(" ")!=-1)
    return true;
  else
    return false;
}

function chkWhitespace (str){  
  var whitespace = " \t\n\r";
  var iii;
  for (iii = 0; iii < str.length; iii++)  {   
    var c = str.charAt(iii);
    if (whitespace.indexOf(c) >= 0){
      return true;
    }
  }
  return false;
}

//函数名：chkdate
//功能介绍：检查是否为日期
//参数说明：datestr 要检查的字符串
//参数说明：separator 要检查的日期分割符
//返回值：false：不是日期  true：是日期
function chkdate(datestr,separator){
  var lthdatestr
  if (datestr != "")
    lthdatestr= datestr.length ;
  else
    lthdatestr=0;
    
  var tmpy="";
  var tmpm="";
  var tmpd="";
  //var datestr;
  var status;
  status=0;
  if ( lthdatestr== 0)
    return false;

  
  for (kk=0;kk<lthdatestr;kk++){  
    if (datestr.charAt(kk)== separator){
      status++;
    }
    if (status>2){
      //alert("Invalid format of date!");
      return false;
    }
    if ((status==0) && (datestr.charAt(kk)!=separator)){
      tmpy=tmpy+datestr.charAt(kk)
    }
    if ((status==1) && (datestr.charAt(kk)!=separator)){
      tmpm=tmpm+datestr.charAt(kk)
    }
    if ((status==2) && (datestr.charAt(kk)!=separator)){
      tmpd=tmpd+datestr.charAt(kk)
    }

  }
  year=new String (tmpy);
  month=new String (tmpm);
  day=new String (tmpd)
  //tempdate= new String (year+month+day);
  //alert(tempdate);
  if ((tmpy.length!=4) || (tmpm.length>2) || (tmpd.length>2)){
    //alert("Invalid format of date!");
    return false;
  }
  if (!((1<=month) && (12>=month) && (31>=day) && (1<=day)) ){
    //alert ("Invalid month or day!");
    return false;
  }
  if (!((year % 4)==0) && (month==2) && (day==29)){
    //alert ("This is not a leap year!");
    return false;
  }
  if ((month<=7) && ((month % 2)==0) && (day>=31)){
    //alert ("This month is a small month!");
    return false;
  }
  if ((month>=8) && ((month % 2)==1) && (day>=31)){
    //alert ("This month is a small month!");
    return false;
  }
  if ((month==2) && (day==30)){
    //alert("The Febryary never has this day!");
    return false;
  }
  return true;
}


//函数名：chknum
//功能介绍：检查是否为数值
//参数说明：要检查的字符串
//返回值：false：不是数值  true：是数值
function chknum(num){
  numstring="0123456789.-"
  for(iii=0;iii<num.length;iii++){
    if (numstring.indexOf(num.charAt(iii))==-1)
      return false;
  }
  return true;
}


//函数名：chkdigital
//功能介绍：检查是否为数字
//参数说明：要检查的字符串
//返回值：false：不是数字  true：是数字
function chkdigital(num){
  numstring="0123456789";
  num+="";
  for(iii=0;iii<num.length;iii++){
    if (numstring.indexOf(num.charAt(iii))==-1)
      return false;
  }
  return true;
}

//函数名：isEamil
//功能介绍：检查是否为email格式
//参数说明：要检查的字符串
//返回值：false：不合法  true：合法
function isEmail(strEmail) {
  if (strEmail.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1)
    return true;
  else
    return false;
}


//函数名：chkpostcode
//功能介绍：检查邮编是否合法
//参数说明：要检查的字符串
//返回值：false：不合法  true：合法
function chkpostcode(code){
  if (code.length!=6)
    return false;
  else{
    if (chkdigital(code))
      return true;
    else
      return false;
  }
}


//函数名：chktel
//功能介绍：检查字符串是否为合法电话号码格式
//参数说明：要检查的字符串
//返回值：false：不合法  true：合法
function chktel(telstr){
  if (telstr.length!=12 && telstr.length!=13){
    alert("电话号码必须为12位或13位数字");
    return false;
  }else{
    telArray=telstr.split("-");
    if (telArray.length!=2){
      alert("区号与电话号码必须用\"-\"作为分割符");
      return false;
    }
    if (chkdigital(telArray[0])){
      switch(telArray[0].length){
        case 3:
        case 4:
          if (chkdigital(telArray[1]))
            return true;
          break;
        defult:
          alert("电话区号必须为3位或4位数字！");
          return false;
      }
          
    }else{
      return false;
    }
  }
}

//函数名：chkmobile
//功能介绍：检查字符串是否为合法手机号码格式
//参数说明：要检查的字符串
//返回值：false：不合法  true：合法
function chkmobile(str){
  if (str.length!=11){
    return false;
  }else{
    if (chkdigital(str))
      return true;
    else
      return false;
  }
}

//函数名：chkID
//功能介绍：检查字符串是否为合法身份证号码格式
//参数说明：userID要检查的字符串
//返回值：false：不合法  true：合法
function chkID(userID,year,month,day){
  var str;
  t_year="19"+year;
  year=t_year.substr(t_year.length-4,4);
  t_month="0"+month;
  month=t_month.substr(t_month.length-2,2);
  t_day="0"+day;
  day=t_day.substr(t_day.length-2,2);
  if (userID.length==15) {
    str=year.substring(2)+month+day;
    if (userID.substring(6,12)==str){
      return true;
    }else{
      return false;
    }
  }
  if (userID.length==18) {
    str=year+month+day;
    if (userID.substring(6,14)==str){
      return true;
    }else{
      return false;
    }
  }
  return false;
}