
function IsNull(name,msg,popUpMsg){
    var str = GetTrimValue(name);

    if(str.length==0){
    	if(popUpMsg){
        	alert(msg);
        }
        try{
          if(eval("document.getElementById(\""+name+"\")").style.display!="none"){
          	eval("document.getElementById(\""+name+"\")").value="";
            eval("document.getElementById(\""+name+"\")").focus();
          }
        }catch(e){}
        return true;
    }
    SetTrimValue(name,str);
    return false;

}

//判断日期类型是否为YYYY-MM-DD格式的类型
function IsDate(id){
  var str = GetTrimValue(id);
  if(str.length!=0){
      var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/;
      var r = str.match(reg);
      if(r==null){
        alert('对不起，您输入的日期格式不正确!');
        return false;
      }else{
        SetTrimValue(id,str);
        return true;
      }
  }
  SetTrimValue(id,str);
  return true;
}

//判断日期类型是否为YYYY-MM-DD hh:mm:ss格式的类型
function IsDateTime(){
    var str = document.getElementById('str').value.trim();
    if(str.length!=0){
        var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/;
        var r = str.match(reg);
        if(r==null)
        alert('对不起，您输入的日期格式不正确!'); //请将“日期”改成你需要验证的属性名称!
    }
}

//判断日期类型是否为hh:mm:ss格式的类型
function IsTime()
{
    var str = document.getElementById('str').value.trim();
    if(str.length!=0){
    reg=/^((20|21|22|23|[0-1]\d)\:[0-5][0-9])(\:[0-5][0-9])?$/
        if(!reg.test(str)){
            alert("对不起，您输入的日期格式不正确!");//请将“日期”改成你需要验证的属性名称!
        }
    }
}

//判断输入的字符是否为英文字母
function IsLetter()
{
        var str = document.getElementById('str').value.trim();
        if(str.length!=0){
        reg=/^[a-zA-Z]+$/;
        if(!reg.test(str)){
            alert("对不起，您输入的英文字母类型格式不正确!");//请将“英文字母类型”改成你需要验证的属性名称!
        }
        }
}

//判断输入的字符是否为整数
function IsInteger()
{
  var str = document.getElementById('str').value.trim();
    if(str.length!=0){
      reg=/^[-+]?\d*$/;
    if(!reg.test(str)){
       alert("对不起，您输入的整数类型格式不正确!");//请将“整数类型”要换成你要验证的那个属性名称！
    }
  }
}

//判断输入的字符是否为双精度
function IsDouble(val)
{
  var str = document.getElementById('str').value.trim();
  if(str.length!=0){
    reg=/^[-\+]?\d+(\.\d+)?$/;
    if(!reg.test(str)){
      alert("对不起，您输入的双精度类型格式不正确!");//请将“双精度类型”要换成你要验证的那个属性名称！
    }
  }
}


//判断输入的字符是否为:a-z,A-Z,0-9
function IsString()
{
        var str = document.getElementById('str').value.trim();
        if(str.length!=0){
        reg=/^[a-zA-Z0-9_]+$/;
        if(!reg.test(str)){
            alert("对不起，您输入的字符串类型格式不正确!");//请将“字符串类型”要换成你要验证的那个属性名称！
        }
        }
}

//判断输入的字符是否为中文
function IsChinese()
{
        var str = document.getElementById('str').value.trim();
        if(str.length!=0){
        reg=/^[\u0391-\uFFE5]+$/;
        if(!reg.test(str)){
            alert("对不起，您输入的字符串类型格式不正确!");//请将“字符串类型”要换成你要验证的那个属性名称！
        }
        }
}

//判断输入的EMAIL格式是否正确
function IsEmail(name)
{
     var str = GetTrimValue(name);
    if(str.length!=0){
      reg=/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
      if(!reg.test(str)){
        alert("对不起，您输入的邮箱格式不正确!");
        eval("document.getElementById(\""+name+"\")").select();
        return false;
      }
      SetTrimValue(name,str);
      return true;
    }
    eval("document.getElementById(\""+name+"\")").select();
    return false;
}

//判断输入的邮编(只能为六位)是否正确
function IsZIP(name)
{
     var str = GetTrimValue(name);
    if(str.length!=0){
      reg=/^\d{6}$/;
      if(!reg.test(str)){
        alert("对不起，您输入的邮政编码格式不正确!");
        eval("document.getElementById(\""+name+"\")").select();
        return false;
      }
      SetTrimValue(name,str);
      return true;
    }
    eval("document.getElementById(\""+name+"\")").select();
    return false;
}

//判断输入的数字不大于某个特定的数字
function MaxValue()
{
    var val = document.getElementById('str').value.trim();
        if(str.length!=0){
        reg=/^[-+]?\d*$/;
        if(!reg.test(str)){//判断是否为数字类型
            if(val>parseInt('123')) //“123”为自己设定的最大值
            {
                alert('对不起，您输入的数字超出范围');//请将“数字”改成你要验证的那个属性名称！
            }
        }
    }
}

/*
用途：检查复选框被选中的数目
输入：
checkboxID：字符串
返回：
返回该复选框中被选中的数目
*/
function checkSelect( checkboxID ) {
  var check = 0;
  var i=0;
  if( document.all(checkboxID).length > 0 ) {
  for(  i=0; i<document.all(checkboxID).length; i++ ) {
    if( document.all(checkboxID).item( i ).checked  ) {
      check += 1;
    }
  }
  }else{
    if( document.all(checkboxID).checked )  check = 1;
  }
  return check;
}

/*
用途：检查输入的起止日期是否正确，规则为两个日期的格式正确，
且结束如期>=起始日期
输入：
startDate：起始日期，字符串
endDate：结束如期，字符串
返回：
如果通过验证返回true,否则返回false
*/
function checkTwoDate(id1,id2,required) {
  var startDate=GetTrimValue(id1);
  var endDate=GetTrimValue(id2);
  if(required){
    if(startDate.trim().length<=0 || endDate.trim().length<=0){
      alert("必须输入起止日期！");
      return false;
    }else{
      if(!IsDate(id1)){
        alert("起始日期不正确!");
        return false;
      }else if(!IsDate(id2)){
        alert("终止日期不正确!");
        return false;
      }else if(startDate>endDate){
        alert("起始日期不能大于终止日期!");
        return false;
      }
    }
  }else{
    if(startDate.trim().length>0 && !IsDate(id1)){
        alert("起始日期不正确!");
        return false;
    }
    if(endDate.trim().length>0 && !IsDate(id2)){
        alert("终止日期不正确!");
        return false;
    }
    if(startDate.trim().length>0 && endDate.trim().length>0 ){
      if(startDate > endDate){
        alert("起始日期不能大于终止日期!");
        return false;
      }
    }
  }

  return true;
}
//判断文本框的字符数量
function InputLength(id,maxLength,msg){
  var str=GetTrimValue(id);
  if(str.length>maxLength){
    alert(msg);
    return false;
  }
  SetTrimValue(id,str);
  return true;
}

//判断文件格式
function FileExt(file,format,msg){
  var fullName=GetTrimValue(file);
  if(format.length<=0 || fullName.trim()==""){
    return true;
  }
  fullName=fullName.toLowerCase();
  var ext=fullName.substring(fullName.lastIndexOf("."));
  for(i=0;i<format.length;i++){
    if(ext==format[i]){
      return true;
    }
  }
  alert(msg);
  return false;
}

//查检两个文本框的值是否相等
function isMatch(input1,input2,msg)
{
  var str1 = eval("document.getElementById(\""+input1+"\")").value.trim();
  var str2 = eval("document.getElementById(\""+input2+"\")").value.trim();
  if(str1==str2) {
    SetTrimValue(input1,str1);
    SetTrimValue(input2,str2);
    return true;
  }
  alert(msg);
  return false;
}

function GetTrimValue(id){
  var str = eval("document.getElementById(\""+id+"\")").value.trim();
  return str;
}

function SetTrimValue(id,fieldValue){
  eval("document.getElementById(\""+id+"\")").value=fieldValue;
}

String.prototype.getByteLength=function(){return this.replace(/[^\x00-\xff]/g, "mm").length;};
 function CutStrLength(str, Ilength)
 {
 var tmp = 0;
 var len = 0;
 var okLen = 0
 for(var i=0;i<Ilength;i++)
 {
 if(str.charCodeAt(i)>255)
 tmp += 2
 else
 len += 1
 okLen += 1
 if(tmp + len == Ilength)
 {
 return (str.substring(0,okLen));
 break;
 }
 if(tmp + len > Ilength)
 {
 //return (str.substring(0,okLen - 1) + "&nbsp;");
 return (str.substring(0,okLen - 1));
 break;
 }
 }
 }

 function  checkFieldLength(fieldName,fieldDesc,fieldLength)
 {
    var str= GetTrimValue(fieldName);
    var theLen=0;
    var teststr='';
    for(i=0;i<str.length;i++)
    {
      teststr=str.charAt(i);
      if(str.charCodeAt(i)>255)
        theLen=theLen+2;
      else
      theLen=theLen+1;
    }
    if(theLen>fieldLength)
    {
      alert(fieldDesc);
      return   false;
    }
    else
    {
      SetTrimValue(fieldName,str);
      return   true;
     }
  }

 /*
 Phone : /^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$/
 Mobile : /^((\(\d{2,3}\))|(\d{3}\-))?13\d{9}$/
 Url : /^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/
 IdCard : /^\d{15}(\d{2}[A-Za-z0-9])?$/
 QQ : /^[1-9]\d{4,8}$/
 某种特殊金额：/^((\d{1,3}(,\d{3})*)|(\d+))(\.\d{2})?$/               
 //说明：除“XXX    XX,XXX    XX,XXX.00”格式外
*/

//为上面提供各个JS验证方法提供.trim()属性
String.prototype.trim=function(){
        return this.replace(/(^\s*)|(\s*$)/g, "");
  }

