/**
 * 通用方法
 * @author 	billy
 * version 	1.0.061212
 */
var StrUtil = new Object;
  
//去除字符串左边的空格 
StrUtil.lTrim = function(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;
}

//去除字符串右边的空格
StrUtil.rTrim = function(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;
}

//去除字符串前后空格
StrUtil.trim = function(str){
    return StrUtil.rTrim(StrUtil.lTrim(str));
	//return str.replace(/^\s*|\s*$/g,"");
}

//检查字符串是否全部是数字
StrUtil.onlyNumber = function(str)
{
	var reg = /^\d+$/;
	if (!reg.test(str)) {
	    return false;
	}else{
		return true;
	}		
}

//检查字符串是否是整数
StrUtil.onlyInteger = function(str)
{
	var reg = /^-?\d*$/;
	if (!reg.test(str)) {
	    return false;
	}else{
		return true;
	}		
}

//检查字符串是否全部是数字和英文
StrUtil.onlyNumberAndChar = function(str)
{
	var reg = /^[a-zA-Z0-9]+$/;
	if (!reg.test(str)) {
	    return false;
	}else{
		return true;
	}		
}

//检查字符串是否全部是数字和英文或者中文
StrUtil.onlyNumberCharAndChinese = function(str)
{
	var reg = /^[a-zA-Z0-9\u4e00-\u9fa5]+$/;
	if (!reg.test(str)) {
	    return false;
	}else{
		return true;
	}		
}

//检查字符串是否是ip地址格式
StrUtil.onlyIPAddress = function(str)
{
	var reg = /^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$/;
	if (!reg.test(str)) {
	    return false;
	}else{
		return true;
	}		
}

//检查字符串是否是邮件地址格式
StrUtil.onlyEmail = function(str)
{
	var reg = /^[a-zA-Z0-9]+([-_.][a-zA-Z0-9]+)*@[a-zA-Z0-9]+([-_.][a-zA-Z0-9]+)*[.][a-zA-Z0-9]+([-.][a-zA-Z0-9]+)*$/;
	if (!reg.test(str)) {
	    return false;
	}else{
		return true;
	}		
}

//检测URL
StrUtil.checkURL = function(str)
{
    var reg = /^(http:\/\/)[a-zA-Z0-9]+(\.[a-zA-Z0-9\-\_]+)+(\/.*)*$/;
	//var reg = /^[a-zA-z]+:\/\/(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$/;
	reg.IgnoreCase = false;
	if (!reg.test(str)) {
	    return false;
	}else{
		return true;
	}
}

//检查字符串是否符合日期格式yyyy-MM-dd
StrUtil.onlyDate = function(str)
{
	var reg = /^[0-9]{4}-[0-9]{1,2}-[0-9]{1,2}$/;
	if (!reg.test(str)) {
	    return false;
	}else{
		return true;
	}		
}

//检查字符串是否符合日期格式yyyy-MM-dd hh:mm
StrUtil.onlyFullDate = function(str)
{
	var reg = /^[0-9]{4}-[0-9]{1,2}-[0-9]{1,2}(\s[0-9]{1,2}:[0-9]{1,2}){0,1}$/;
	if (!reg.test(str)) {
	    return false;
	}else{
		return true;
	}		
}

//检查字符串是否符合日期格式yyyy-MM-dd hh:mm:ss
StrUtil.onlyDateYMS = function(str)
{
	var reg = /^[0-9]{4}-[0-9]{1,2}-[0-9]{1,2}(\s[0-9]{1,2}:[0-9]{1,2}:[0-9]{1,2}){0,1}$/;
	if (!reg.test(str)) {
	    return false;
	}else{
		return true;
	}		
}

//比较字符串相等
StrUtil.isSame = function(str1,str2){   
    if(str1.length==str2.length && str1.search(str2)==0)   
    	//相等
        return true;
    else   
    	//不相等
        return false;
}

//检查字符串实际长度，分半角全角
StrUtil.checkLength = function(str,minLength,maxLength)
{
	len = 0;
	for (i = 0; i < str.length; i++){ 
		if (((str.charCodeAt(i) >= 0x3400) && (str.charCodeAt(i) < 0x9FFF)) || (str.charCodeAt(i) >= 0xF900))
    	{
      		len = len + 2;
    	}
		else
		{
			len++;
		}
	}
	if(len > maxLength || len < minLength){
		return false
	}	
	else{
		return true;
	}		
}

/**
 * 比较字符串的长度和指定长度的大小.其中一个汉字算两个字符
 * @return true 表示字符串长度大于指定长度 | false 字符串长度小于等于指定长度
 */
StrUtil.compareStringLength = function (str,maxLength)
{
	var len = StrUtil.getStrLength(str,maxLength);
	
	return len >0 ? true : false;		
}

/**
 * 得到指定字符串的长度,其中一个汉字算两个字符
 * 
 */
StrUtil.getStrLength=function(str,maxLength){
	var len = 0;
	for (i = 0; i < str.length; i++){ 
		if (((str.charCodeAt(i) >= 0x3400) && (str.charCodeAt(i) < 0x9FFF)) || (str.charCodeAt(i) >= 0xF900))
    	{
      		len = len + 2;
    	}
		else
		{
			len++;
		}
	}

	return maxLength-len;		
}

StrUtil.getLength=function(str){
	var len = 0;
	for (i = 0; i < str.length; i++){ 
		if (((str.charCodeAt(i) >= 0x3400) && (str.charCodeAt(i) < 0x9FFF)) || (str.charCodeAt(i) >= 0xF900))
    	{
      		len = len + 2;
    	}
		else
		{
			len++;
		}
	}
	return len;		
}

/**
 * 截取字符串中途指定长度的字符，其中一个汉字算两个字符
 * @param str 字符串
 * @param maxLength 传入的长度
 * @return 字符串的长度
 */
StrUtil.getStringByLength = function (str,maxLength)
{
	var string="";
	len = 0;
	for (i = 0; i < str.length; i++){ 
		if (((str.charCodeAt(i) >= 0x3400) && (str.charCodeAt(i) < 0x9FFF)) || (str.charCodeAt(i) >= 0xF900))
    	{
    	len = len + 2;
      		
    	}
		else
		{
		len++;
			
		}
		if(len>maxLength){
			len=i;
			break;
		}
	}
	string=str.substring(0,len);
	return string;		
}