
function checkNotNull(obj,msg){
  if(obj.type!="hidden" && trim(obj.value)==""){
    alert(msg+"不能为空！");
    return false;
  }
  return true;
}

//去左空格
function lTrim(str){
  if (str.charAt(0) == " "){
    str = str.slice(1);
    str = lTrim(str);
  }
  return str;
}
//去右空格
function rTrim(str){
  var iLength;
  str=str+"";
  iLength = str.length;
  if((iLength>0) && (str.charAt(iLength - 1) == " ")){
    str = str.slice(0, iLength - 1);
    str = rTrim(str);
  }
  return str;
}
//左右空格
function trim(str){
  return lTrim(rTrim(str));
}

//函数名：checkLength
//功能介绍：检查字符串的长度
//参数说明：要检查的字符串
//返回值：长度值
function checkLength(strTemp){
  var i,sum;
  sum=0;
  strTemp=strTemp+"";
  for(i=0; i<strTemp.length; i++){
    if((strTemp.charCodeAt(i)>=0) && (strTemp.charCodeAt(i)<=255))
      sum=sum+1;
    else
      sum=sum+2;
  }
  return sum;
}

//函数名：checkPassword
//功能介绍：检查注册密码
//参数说明：要检查的字符串
//返回值：0：含有 1：全部为数字、字母或下划线
function checkPassword(str){
  if(str!="" && checkChar(str, 'char')) {
    var strlen = checkLength(str);
    if(strlen>=6 && strlen<=20) {
    return 1;
  } else {
    return 0;
  }
  }
}

//函数名：checkUsername
//功能介绍：检查注册用户名
//参数说明：要检查的字符串
//返回值：0：含有 1：全部为数字、小写字母或下划线
function checkUsername(str){
  if(str!="" && checkChar(str, 'lowerchar')){
    var strlen = checkLength(str);
    if(/* strlen>=5 && */strlen<=20){
    return 1;
  }else{
    return 0;
  }
  }
}

//函数名：checkChar
//功能介绍：检查是否含有非数字或字母
//参数说明：str  要检查的字符串，charset  要匹配的字符集
//返回值：0：含有 1：全部为数字、小写字母或下划线
function checkChar(str, charset){
  var char ="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
  var lowerchar ="0123456789abcdefghijklmnopqrstuvwxyz_";
  var ch;
  var i;
  var temp;
  if(charset=='char'){
    charset = char;
  } else if(charset=='lowerchar'){
    charset = lowerchar;
  }
  for (i=0;i<=(str.length-1);i++){
    ch = str.charAt(i);
    if (charset.indexOf(ch)==-1){
    return 0;
  }else{
    return 1;
  }
  }
}

//函数名：checkNumber
//功能介绍：检查是否为数字
//参数说明：要检查的数字
//返回值：1为是数字，0为不是数字
function checkNumber(num){
  var i,j,strTemp;
  strTemp="0123456789";
  if(num.length == 0){
    return 0;
  }
  for (i=0;i<num.length;i++){
    j=strTemp.indexOf(num.charAt(i));
    if(j==-1){//说明有字符不是数字
      return 0;
    }
  }
  //说明是数字
  return 1;
}

//函数名：checkEmail
//功能介绍：检查是否为Email Address
//参数说明：要检查的字符串
//返回值：0：不是  1：是
function checkEmail(email){
  if(email!=""){
  var rege = "^(([0-9a-zA-Z]+)|([0-9a-zA-Z]+[_.0-9a-zA-Z-]*[0-9a-zA-Z]+))@([a-zA-Z0-9-]+[.])+([a-zA-Z]{2}|net|NET|com|COM|gov|GOV|mil|MIL|org|ORG|edu|EDU|int|INT)$";
  var re = new RegExp(rege);
  if(email.search(re) != -1){
     return 1;
  }else{
     //有字符不合法
     return 0;
  }
  }
  return 1;
}

//函数名：checkWebsite
//功能介绍：检查是否为Web Site
//参数说明：要检查的字符串
//返回值：0：不是  1：是
function checkWebsite(http){
  if(http!=""){
    //http://www.domain.com
    //var url = /^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/;

    //www.domain.com
    var url = /^[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/;
  if(url.test(http)){
     return 1;
  }else{
     //有字符不合法
     return 0;
  }
  }
  return 1;
}

//函数名：checkTEL
//功能介绍：检查是否为电话号码
//参数说明：要检查的字符串
//返回值：1为是合法，0为不合法
function checkTEL(TEL){//需要debug
  var i,j,strTemp;
  strTemp="0123456789-()#";
  for (i=0;i<TEL.length;i++){
    j=strTemp.indexOf(TEL.charAt(i));
    if(j==-1){//说明有字符不合法
      return 0;
    }
  }
  //说明合法
  return 1;
}

//校验普通电话、传真号码：可以“+”开头，除数字外，可含有“-”
function isTel(s){
  //var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?(\d){1,12})+$/;
  var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;
  if(!patrn.exec(s))
    return false;
  return true;
}

//函数名：checkFloat
//功能介绍：检查是否为小数
//参数说明：要检查的字符串
//返回值：1为是合法，0为不合法
function checkFloat(ele,msg){
  var decimalLen=2;
  if(isNaN(ele)){
    alert("请输入数字格式的"+msg+'!');
    return 0;
  }else{
    if(!checkDecimal(ele,decimalLen)){
      alert(msg+"的小数位最多为2位！");
      return 0;
    }
    if(parseInt(ele)>1000000.50){
      alert(msg+"的值应该小于等于1000000.50！");
      return 0;
    }
  }
  return 1;
}
/***检查小数位数***/
function checkDecimal(num,decimalLen){
  var len = decimalLen*1+1;
  if(num.indexOf('.')>0){
    num=num.substr(num.indexOf('.')+1,num.length-1);
    if((num.length)<len){
      return true;
    }else{
      return false;
    }
  }
  return true;
}

/**
 * 函数名：CheckDateFormat
 * 功能介绍：检查日期字符串格式是否匹配："yyyy-mm-dd" 或 "yyyy.mm.dd"。
 * 参数说明：fmt - 格式编号
 *                1：'.'
 *                2：'-'
 *          field - 要检查的字符串域
 *          msg - 字符串域的名称，用于显示消息
 * 返回值：1为是合法，0为不合法
 */
function CheckDateFormat(fmt,field,msg){
  var resultOK=false;
  if(!checkNotNull(field,msg)){
    return resultOK;
  }
  /*-- 日期格式：(四位)年份 + (至多两位)月份 + (至多两位)日期 --*/
  /*-- 分割符号："." --*/
  var RegDateDot = /\d{4}\.{1}\d{1,2}\.{1}\d{1,2}/;
  /*-- 分割符号："-" --*/
  var RegDateLine = /\d{4}-{1}\d{1,2}-{1}\d{1,2}/;

  /*-- 处理：用正则表达式判断格式 --*/
  switch(fmt){
  case 1: //.
    resultOK=RegDateDot.test(field.value);
    break;
  case 2: //-
    resultOK=RegDateLine.test(field.value);
    break;
  default: //.
    resultOK=RegDateLine.test(field.value);
    break;
  }
  /*-- 返回结果 --*/
  if(!resultOK){
    alert(msg+"格式错误！");
  }
  return resultOK;
}

function checkValidDate(fmt,field,msg){
  var v = field.value;
  var fmtstartindex;
  var fmtendindex;
  if(CheckDateFormat(fmt,field,msg)){
    fmtstartindex=v.indexOf('-');
    fmtendindex=v.lastIndexOf('-');
    var year = v.substr(0,fmtstartindex);
    var month = v.substr(fmtstartindex+1,fmtendindex-(fmtstartindex+1));
    var day = v.substr(fmtendindex+1,v.length-(fmtendindex+1));
    /* 2007-01-06
    var year = v.substr(0,4);
    var month = v.substr(5,2);
    var day = v.substr(8,2);
    */
    if(day < 1 || day > 31){
    alert(msg+'的日期应该是从1至31。');
      return false;
    }
    if(month < 1 || month > 12){
    alert(msg+'的月份应该是从1至12。');
      return false;
    }
    if((month==4 || month==6 || month==9 || month==11) && day==31){
    alert(month+'月应该是30天。');
      return false;
    }
    if(month==2){
    var isLeap=(year%4 == 0 && (year%100 != 0 || year%400 == 0));
    if(day > 29 || (day==29 && !isLeap)){
      alert('填写的'+month+'月日期不正确。');
      return false;
    }
    }
  }else{
    return false;
  }
  return true;
}

function compareDate(d1,d2){
  d1=new Date(d1.replace(/\-/g,"/"));
  d2=new Date(d2.replace(/\-/g,"/"));
  if(d2<d1){
    alert("结束日期不能小于开始日期!");
    return false;
  }
  return true;
}