﻿//删除两端空格
function trim(value)
{
	var res = String(value).replace(/^[\s]+|[\s]+$/g,'');
	return res;
}

//判断是否为数字
function isNum(value)
{ 
 value = trim(value);
 if (value == "" )
 return false; 
 for(var i=0;i<value.length;i++){
 oneNum = value.substring(i,i+1);
 if (oneNum < "0" || oneNum > "9")
 return false;
 }
 return true;
}
//判断是否为整数
function isInt(value)
{
 value = trim(value);
 if (value =="" )
 return false; 
 if (isNum(value)){
 if (value.substring(0,1) == "0") {
 return false;
 }else{
 return true;
 }
 }else{
 return false;
 }
 
}
//判断是否为浮点数
function isFloat(theFloat)
{
 len = theFloat.length;
 dotNum = 0;
 if (len==0)
 return false;
 for(var i=0;i<len;i++){
 oneNum = theFloat.substring(i,i+1);
 if (oneNum==".")
 dotNum++;
 if ( ((oneNum<"0" || oneNum>"9") && oneNum!=".") || dotNum>1)
 return false;
 }
 if (len>1 && theFloat.substring(0,1)=="0"){
 if (theFloat.substring(1,2)!=".")
 return false;
 }
 return true;
}

//按精度格式化浮点数，也可将精度设为-1则只进行检查数据的合法性
function formatNumber(value,precision)
{
	var strErr;
	var num;
	var s_value,decimal_value;
	var decimal_sect,interger_sect;
	var strArrSect,strArr;
 var defautValue;
 if (precision>0)
 {
 defautValue="0.";
 var i = 0;
 while( i < precision)
 {
 defautValue =defautValue +"0";
 i++;
 }
 }
 else
 {
 defautValue = "0";
 }
	if(trim(value)=="") //数据为空时返回

		value="0";
	if (isNaN(value)) //数据非法时提示，并返回空串

	{
		strErr = "数据"+value+"非法！";
		throw new Error(strErr);
		return defautValue;
	}
	if (precision==-1) //只作检查时精度为-1
		return Number(value);
	try
	{
	 s_value = value.toString()+".";
	 strArrSect = s_value.split(".");
	 
	 if(typeof(strArrSect[1])=='undefined')
		{
			strArrSect[1]=0;
		}
		integer_sect = strArrSect[0];
	 decimal_sect = "0."+strArrSect[1];
	 
	 
		num = Math.pow(10,precision);
		decimal_value = Math.round(decimal_sect*num)/num;
		decimal_value = decimal_value.toString();
		decimal_value = decimal_value+".";
		strArr = decimal_value.split(".");
		if(typeof(strArr[1])=='undefined')
		{			
			strArr[1] = "";
		}
		while(strArr[1].length<precision)
		{
			strArr[1] = strArr[1]+"0"
		}
		if(precision!=0)
			s_value = integer_sect+"."+strArr[1];
		else
			s_value = integer_sect;
		return s_value; //成功时返回格式化后的值

	}
	catch(err)
	{
		throw new Error(err.description);
		return value; //若失败则返回原值
	}
}
//按精度格式化货币，也可将精度设为-1则只进行检查数据的合法性,
function formatCurrency(value,precision)
{
	var strErr;
	var num;
	var f_value,s_value;
	var strArr

	if(trim(value)=="") //数据为空时返回
		return "";
	if (isNaN(value)) //数据非法时提示，并返回空串

	{
		strErr = "数据"+value+"非法！";
		throw new Error(strErr);
		return "0";
	}
	if (precision==-1) //只作检查时精度为-1
		return value;
	try{
		num = Math.pow(10,precision);
		f_value = Math.round(value*num)/num;
		s_value = f_value.toString();
		s_value = s_value+".";
		strArr = s_value.split(".");
		if(typeof(strArr[1])=='undefined')
		{
			strArr[1] = strArr[1].toString();
			strArr[1] = "";
		}
		while(strArr[1].length<precision)
		{
			strArr[1] = strArr[1]+"0"
		}
		var l = parseInt(strArr[0].length)%3 ;
		s_value = strArr[0].substring(0,l); 
		var len= parseInt(parseInt(strArr[0].length)/3);
		for(i=0; i<len ;i++)
		{
		 if(l != 0)
		 {
		 s_value +=",";
		 }
		 s_value += strArr[0].substring(l,l+3); 
		 l+=3;
		}
		if(precision!=0)
			s_value = s_value+"."+strArr[1];
		else
			s_value = s_value;
		return s_value; //成功时返回格式化后的值

	}catch(err){
		throw new Error(err.description);
		return value; //若失败则返回原值
	}
}

//获取当前url中指定名称的参数 
function getUrlParam(name)
{ 
 var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)","i"); 
 var r = window.location.search.substr(1).match(reg); 
 if (r!=null) 
 {
 return unescape(r[2]);
 }
 else
 { 
 return null; 
 }
}

//获取指定名称的cookie
function getCookie(cookieName) 
{
 var cookieString = document.cookie; 
 var start = cookieString.indexOf(cookieName + '=');
 // 加上等号的原因是避免在某些 Cookie 的值里有
 // 与 cookieName 一样的字符串。	
 if (start == -1) // 找不到
 return null;
 start += cookieName.length + 1;
 var end = cookieString.indexOf(';', start);
 if (end == -1) return unescape(cookieString.substring(start));
 return unescape(cookieString.substring(start, end));
}
// 设置Cookie
function setCookie(name, value)
{
 var argv = setCookie.arguments;
 var argc = setCookie.arguments.length;
 var expires = (argc > 2) ? argv[2].toGMTString() : null;
 var path = (argc > 3) ? argv[3] : null;
 var domain = (argc > 4) ? argv[4] : null;
 var secure = (argc > 5) ? argv[5] : false;
 
 var content = name + "=" + escape(value) + ";";
 if(expires != null)
 {
 content += " expires=" + expires + ";";
 }
 if(path != null)
 {
 content += " path=" + path + ";";
 }
 if(domain != null)
 {
 domain += " domain=" + domain + ";";
 }
 if(secure != null)
 {
 secure += " secure=" + secure + ";"
 } 
 document.cookie = content;
}

