/**
 * 通用的公共类
 */
var Utils = {
	version : '1.0'
};

// 判断是否是数字
Utils.isNumber = function(inputStr) {
	if(inputStr.length  ==  0)
		return  false;
		for(i  =  0;  i  <  inputStr.length;  i++)  {  
		if(inputStr.charAt(i)  <  "0"  ||  inputStr.charAt(i)  >  "9")
		return  false;
		}
		return  true;
}


Utils.isInteger= function( str ){  
	      var regu = /^[-]{0,1}[0-9]{1,}$/;  
	      return regu.test(str);  
}  

Utils.trim = function(str) { 
	return str.replace(/(^\s*)|(\s*$)/g, "");
}

Utils.ltrim = function(str) {
	return str.replace(/^\s*/g, "");
}

Utils.rtrim = function rtrim(str) {
	return str.replace(/\s*$/,"");
}
// 判断是否是空
Utils.isEmpty = function(str) {
	if (str != null && str.length > 0) {
		return true;
	}
	return false;
}
// 判断是否是Email
Utils.isEmail=function(str)
{
  if(/^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/.test(str)){
   return true
  }
  return false;
}

/**
 * 格式化数字显示方式 用法 formatNumber(12345.999,'#,##0.00');
 * formatNumber(12345.999,'#,##0.##'); formatNumber(123,'000000');
 * 
 * @param num
 * @param pattern
 */   
Utils.formatNumber=function(num,pattern){    
  var strarr = num?num.toString().split('.'):['0'];    
  var fmtarr = pattern?pattern.split('.'):[''];    
  var retstr='';    
   
  // 整数部分
  var str = strarr[0];    
  var fmt = fmtarr[0];    
  var i = str.length-1;      
  var comma = false;    
  for(var f=fmt.length-1;f>=0;f--){    
    switch(fmt.substr(f,1)){    
      case '#':    
        if(i>=0 ) retstr = str.substr(i--,1) + retstr;    
        break;    
      case '0':    
        if(i>=0) retstr = str.substr(i--,1) + retstr;    
        else retstr = '0' + retstr;    
        break;    
      case ',':    
         comma = true;    
         retstr=','+retstr;    
        break;    
     }    
   }    
  if(i>=0){    
    if(comma){    
      var l = str.length;    
      for(;i>=0;i--){    
         retstr = str.substr(i,1) + retstr;    
        if(i>0 && ((l-i)%3)==0) retstr = ',' + retstr;    
       }    
     }    
    else retstr = str.substr(0,i+1) + retstr;    
   }    
   
   retstr = retstr+'.';    
  // 处理小数部分
   str=strarr.length>1?strarr[1]:'';    
   fmt=fmtarr.length>1?fmtarr[1]:'';    
   i=0;    
  for(var f=0;f<fmt.length;f++){    
    switch(fmt.substr(f,1)){    
      case '#':    
        if(i<str.length) retstr+=str.substr(i++,1);    
        break;    
      case '0':    
        if(i<str.length) retstr+= str.substr(i++,1);    
        else retstr+='0';    
        break;    
     }    
   }    
  return retstr.replace(/^,+/,'').replace(/\.$/,'');    
}

//判断用户输入的手机号码是否正确，并给出提示。
Utils.isMobile=function(value)  
{  
  var rv = false;
	
	var ispn = 0;
	
	ispn = Utils.isPhoneNumber(value);

	if (ispn == 0) {
		rv = true;
	}
	else if (ispn == 1) {
		//window.alert("请输入11位数字组成的手机号码!");
		rv = false;
	}
	else if (ispn == 2) {
		//window.alert("请正确输入中国移动手机号码!");
		rv = false;
	}
     
	return rv;
}  
 

// 判断字符串是否是手机号码
// 0是手机号码 1不是11位数字 2号码前缀不正确
/* 用于检验手机号的位数以及检验此手机中是否为中国移动的手机号*/
/* 由于存在携号转网的情况 允许3个运营商的全部号段（试点中）*/
// 中国移动号码段：134(0至8号段) 135 136 137 138 139 147 150 151 152 157 158 159 182 187 188
// 中国联通号码段：130 131 132 145 155 156 186
// 中国电信号码段：133 153 180 189
Utils.isPhoneNumber=function(phone) {
	var rv = 0;

	var mbphnoM = /^(13[4-9])|^(147)|^(150)|^(151)|^(152)|^(157)|^(158)|^(159)|^(182)|^(187)|^(188)/;
	var mbphnoU = /^(130)|^(131)|^(132)|^(145)|^(155)|^(156)|^(186)/;
	var mbphnoT = /^(133)|^(153)|^(180)|^(189)/;
      
	var num11 = /\d{11}/; //11位数字;
      
	if (null != phone && "" != phone && num11.exec(phone)) {
		
		if (mbphnoM.exec(phone) || mbphnoU.exec(phone) || mbphnoT.exec(phone)) {
			rv = 0;
		}
		else {
			rv = 2;
		}
	}
	else {
		rv = 1;
	}
     
	return rv;
}

