/**
 *IsStringNull(string)
 *判断字符串是否为空
 */

function IsStringNull(str) {
	if(str==null)
		return true;
	var trimStr=Trim(str);
	if(trimStr.length==0)
		return true;
	return false;
}
/**
 *LTrim(string)
 *去除左边空格
 */

function LTrim(str){
    var whitespace = new String(" \t\n\r");
    var s = new String(str);    

    if (whitespace.indexOf(s.charAt(0)) != -1){
        var j=0, i = s.length;
        while (j < i && whitespace.indexOf(s.charAt(j)) != -1){
            j++;
        }
        s = s.substring(j, i);
    }
    return s;
}

 
/**
 *RTrim(string)
 *去除右边空格
 */

function RTrim(str){
    var whitespace = new String(" \t\n\r");
    var s = new String(str);
    if (whitespace.indexOf(s.charAt(s.length-1)) != -1) {
        var i = s.length - 1;
        while (i >= 0 && whitespace.indexOf(s.charAt(i)) != -1){
            i--;
        }
        s = s.substring(0, i+1);
    }
    return s;
}

 
/**
 *Trim(string)
 *去除前后空格
 */

function Trim(str){
    return RTrim(LTrim(str));
}

/**
 *IsOutOfLength(string,int)
 *判断字符串是否超出指定长度,中文为2个字符
 */

function IsOutOfLength(str, len) {
	var strLength = 0;
	for(var i = 0;i<str.length;i++){
		if(str.charCodeAt(i) > 256){
			strLength++;
		}
		strLength++;
		if(strLength > len){
			return true;
		}
	}
	return false;
}

/**
 *checkInteger(str)
 *判断是否为整数
 */
function checkInteger(str){
	var rc=true;
	if(str+""=="undefined" || str==null){
		rc= false;
	} else {
		for(i=0;i<str.length;i++)
		{
			if(i==0 && str.charAt(i)=='-')
			{
				continue;
			}
			if(str.charAt(i)<'0' || str.charAt(i)>'9')
			{
				rc=false;
				break;
			}
		}
	}
	return rc;
}

/**
 *IsNumeric(string)
 *判断是否为数字
 */
function IsNumeric(strNumber){
	if (strNumber.length == 0){
		return false;
	}
	return (strNumber.search(/^(-|\+)?\d+(\.\d+)?$/) != -1);
}

/**
 *IsInt(string,string,int or string)
 *判断是否为整数、正整数、负整数、正整数+0、负整数+0
 */

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{
            alert("检查是否包含0参数，只可为(空,0)");
        }
    }
    

    switch(sign){
    	case "none":
    		 if(!bolzero){               
                reg=/^[0-9]*[1-9][0-9]*$/;
            }
            else{                
                reg=/^[0-9]*[0-9][0-9]*$/;
            }
            break;
        case "+-":
            //整数
            reg=/(^-?|^\+?)\d+$/; 
            break;
        case "+":
            if(!bolzero){
                //正整数
                reg=/^\+?[0-9]*[1-9][0-9]*$/;
            }
            else{
                //正整数+0                
                reg=/^\+?[0-9]*[0-9][0-9]*$/;
            }
            break;
        case "-":
            if(!bolzero){
                //负整数
                reg=/^-[0-9]*[1-9][0-9]*$/;
            }
            else{
                //负整数+0
                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;
    }
}


/**
 *replaceAll
 *把text中包含replacement参数的字符串全部替换为target参数的字符 
 */

function replaceAll(text,replacement,target){
	if (text==null||text=="") return text;
	if (replacement==null || replacement=="") return text;
	if (target==null||target=="") target="";
	var returnString="";
	var index=text.indexOf(replacement);
	while(index!=-1){
		if (index!=0) returnString+=text.substring(0,index)+target;
		text=text.substring(index+replacement.length);
		index=text.indexOf(replacement);
	}
	if (text!="")returnString+=text;
	return returnString;
}

/**
 *checkIsValidDate(string)
 *判断是否为日期类型(yyyy-MM-dd)
 */
function checkIsValidDate(str){
    if(str == "")
        return true;
	str=replaceAll(str,"-","/");	
    var pattern = /^\d{4}\/\d{1,2}\/\d{1,2}$/;
    if(!pattern.test(str))
        return false;
    var arrDate = str.split("/");
    var date =  new Date(arrDate[0],(parseInt(arrDate[1],10) -1) +"",parseInt(arrDate[2],10) +"");
    if(date.getFullYear() == arrDate[0]
       && date.getMonth() == (parseInt(arrDate[1],10)-1) +""
       && date.getDate() == parseInt(arrDate[2],10) +"")
        return true;
    else
        return false;
}

/**
 *checkIsValidTime(string)
 *判断是否为时间类型(hh:mm:ss)
 */
function checkIsValidTime(str) {
    if(str == "")
        return true;
    var pattern = /^\d{1,2}:\d{1,2}:\d{1,2}$/g;
    if(!pattern.test(str))
        return false;

	return true;
}

//函数名：checkIsValidDateTime       
//功能介绍：检查是否为日期时间     
function checkIsValidDateTime(str){        
    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)return false;   
    var d = new Date(r[1],r[3]-1,r[4],r[5],r[6],r[7]);     
    return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]&&d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.getSeconds()==r[7]);  
}
/**
 *IsValidateEmail(str)
 *判断是否有效email地址
 */
function IsValidateEmail(str){	
	var	pattern = /^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/;  
	if (str==''||str.length==0){
 		return false;
 	}
 	if (str.length>50){
 		return false;
 	}
 	if(!pattern.test(str)) {
    	return false;
    }
    return true;
}

function IsValidateNoEmptyEmail(str){	
	var	pattern = /^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/;  
	if (str==''||str.length==0){
 		return true;
 	}
 	if (str.length>50){
 		return false;
 	}
 	if(!pattern.test(str)) {
    	return false;
    }
    return true;
}

/**
 *checkIsHanzi(str)
 *判断是否有效汉字
 */
function checkIsHanzi(str){
    if(str == "" || str.length ==0) {
    	return true;
    }    
    var pattern = /[^\u4E00-\u9FA5]/g;
    if(pattern.test(str)) {
    	return false;
    }  	
   	return true;
}

/**
 *checkIsLetter(str)
 *判断是否有效英文字母
 */
function checkIsLetter(str){
    if(str == "" || str.length ==0) {
    	return true;
    }    
    var pattern = /[^a-zA-Z]/g;
    if(pattern.test(str)) {
    	return false;
    }
   	return true;
}

/**
 *checkIsPercent(str)
 *判断是否有效的百分比数字
 */
function checkIsPercent(str){
	if(str == "" || str.length ==0) {
	    return true;
	}      
	  
	var pattern = /^[1-9][0-9]*[.]?[0-9]*%$/g;
	if(!pattern.test(str)) {
	    return false;
	}   
	return true;
}

/**
 *IsValidatePostCode(str)
 *判断是否有效的邮编(6位数字)
 */
function IsValidatePostCode(str){	
	if (str==''||str.length==0){
 		return true;
 	}
	RegularExp=/^[0-9]{6}$/
	if (RegularExp.test(str)) {
		return true;
	} else {
		return false;
	}
}

/**
 *IsValidateMobile(str)
 *判断是否有效的手机号码
 */
function IsValidateMobile(str) {
	if (str==''||str.length==0){
 		return false;
 	}
	return (/^([0][1]|[1])[2-9][0-9]{9}$/.test(str));
}
/**
 *checkTel(str)
 *判断是否有效的电话号码
 */
function IsValidateTel(str)
{
   if (str==''||str.length==0){
 		return false;
 	}
   //RegularExp = /^(([0-9]{4}|[0-9]{3})-){0,1}([0-9]{7}|[0-9]{8}){1}(-([0-9]{3,4})){0,1}$/
   //不在限制为7/8位,patch100参照www修改
   RegularExp = /^(([0-9]{4}|[0-9]{3})-){0,1}[0-9]*(-([0-9]{3,4})){0,1}$/
   if (RegularExp.test(str))
   {
       //alert("电话号码格式对");
       return true;
   }else{
       //alert("电话号码格式不对");
       return false;
   }
}


function IsValidateNoEmptyTel(str)
{
   if (str==''||str.length==0){
 		return true;
 	}
   //RegularExp = /^(([0-9]{4}|[0-9]{3})-){0,1}([0-9]{7}|[0-9]{8}){1}(-([0-9]{3,4})){0,1}$/
   //不在限制为7/8位,patch100参照www修改
   RegularExp =/^(\d{3,4}-?)?\d{7,8}$/; 
   if (RegularExp.test(str))
   {
       //alert("电话号码格式对");
       return true;
   }else{
       //alert("电话号码格式不对");
       return false;
   }
}
/**
 *IsValidateLoginName(str)
 *判断是否有效登录名
 */
function IsValidateLoginName(str){	
	var pattern = /^[a-zA-Z\d]+([\w\.\-\@]*[a-zA-Z\d]+)?$/;
	if (str==''||str.length==0){
 		return false;
 	}
 	if(!pattern.test(str)) {
    	return false;
    }
    return true;
}
/**
 *GetRedioValue(name)
 *获取2个radion中的选中值
 */
function GetRedioValue(name)
{ 

      var r = document.getElementsByName(name); 
      for (i=0;i<2;i++)
      {
          if (r[i].checked) { 
             return r[i].value;
          }       
      }
}

/**
 *IsContainSpace(str)
 *判断是否包含空格,空格包括半角和全角的
  */
function IsContainSpace(str)
{
	if (str.indexOf(" ") != -1 || str.indexOf("　") != -1)
    {
     	return true;
    }
    return false;
}
//判断密码强度
function isSafe(pwd)
{
	var i = 0;
	var safeLevel = 0;
	var patn1 = /.*\d.*/;
	var patn2 = /.*[a-z].*/;
	var patn3 = /.*[A-Z].*/;
	var patn4 = /.*(~|`|!|@|#|\$|%|\^|&|<|>|\*|\(|\)|\?|\[|\]).*/;
		///.*(~|`|!|@|#|\$|%|\^|&|<|>).*/;
	//.*(\\x5c|~|`|!|@|#|\\$|%|\\^|&|\\*|\\(|\\)|<|>|\\?|/|_|-|\\x7c).*
	
	if(patn1.test(pwd)) i++;
	if(patn2.test(pwd)) i++; 
	if(patn3.test(pwd)) i++;
	if(patn4.test(pwd)) i++;
	if(i < 2)
		safeLevel = 1;
	else if(i == 2 && pwd.length == 6)
		safeLevel = 1;
	else if(i == 2 && pwd.length > 6)
		safeLevel = 2;
	else
		safeLevel = 3;
	if(pwd.length < 6) safeLevel = 0;

	return safeLevel;
}

/**
 *IsValidWebSite(str)
 *判断是合法网址
  */
function IsValidWebSite(url)
{
	var urlreg=/^[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/
	if (!urlreg.test(url))
		return false;
	else
		return true;
}

//验证IP地址
function isIP(ip)
{
   var patrn = /^(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])$/;
		if(!patrn.test(ip))
		{
			return false;
		}
		else
		{
			return true;
		}
} 

/**
 *判断是否合法公司名称
 */
function IsValidCompanyName(str)
{
	if (str.length<4 || str.length>20)
		return false;
	//只限数字+中英文
	var pattern = /^[a-zA-Z0-9\u4E00-\u9FA5]+$/;
	if (!pattern.test(str))
		return false;
    return true;
}
