金额格式化
一个文本框,输入金额后要转换成标准格式,例如10000.89,格式化之后就变成10,000.89,而且不允许输入多个小数点
------解决方案-------------------- <script type= "text/javascript ">  
 function wc(n) { 
 	var l, c, r, s = n.toString(), p = /^(\d{1,2})?((?:\d{3})*)(?:(\.)(\d{1,2})\d*)?$/; 
 	if (p.test(s)) { 
 		l = RegExp.$1, r = RegExp.$3 + RegExp.$4, c = RegExp.$2.match(/\d{3}/g); 
 		return l + (c && l ?  ", " :  " ") + (c ? c.join( ", ") :  " ") + r; 
 	} else return null; 
 } 
 alert(wc(10000)) 
  </script>
------解决方案-------------------- <input type= "text " onchange= "aa(this.value) " />  
  <script language= "javascript ">  
 function aa(inputtext) 
 { 
 	var text = inputobj.value; 
 	var re = /(^-?(?:(?:\d{0,3}(?:,\d{3})*)|\d*))(\.\d+)?$/; 	//验证财务数字是否合法 $1为整数部分 $2为带小数点的小数部分 
 	tempstr = text.replace(/,/g, " ");//去除所有 ", "号 
 	var tempint = 0; 
 	var tempstr =  " "; 
 	if(re.test(text)) 
 	{ 
 		tempint = parseInt(RegExp.$1);//把整数部分转换成数字 
 		if(!isNaN(tempint))//判断整数部分是否是数字 或 绝对值是否大于1亿 
 		{ 
 			//我也很无奈javascript的小数处理有问题 0.155 * 100 它等于 15.49999999 郁闷 
 			var tempint1 = 0; 
 			var tempint2 = 0; 
 			if(RegExp.$2.length> 3) 
 			{ 
 				tempint1 = parseInt(RegExp.$2.charAt(3)); 
 				tempint2 = parseInt(RegExp.$2.substr(1,2)); 
 				if(tempint1> 4)tempint2++; 
 				if(tempint2> 100) 
 				{ 
 					tempint++; 
 					tempint2 = 0; 
 				} 
 			} 
 			if(Math.abs(tempint) <100000000) 
 			{ 
 				//循环 以千位为基础 加 ", "号 
 				while(tempint> 1000)  
 				{ 
 					tempstr =  ", " + (tempint % 1000) + tempstr; 
 					tempint = Math.floor(tempint/1000); 
 				} 
 				tempstr =  " " + tempint + tempstr +  ". " + tempint2;//加上小数位 
 				inputobj.value = tempstr;//把成功的结果写回input里面 
 			} 
 			else 
 			{ 
 				alert( "数值过大 "); 
 			} 
 		} 
 		else 
 		{ 
 			alert( "数字不合法 "); 
 		} 
 	} 
 	else 
 	{ 
 		alert( "数字不合法 "); 
 	} 
 } 
  </script>
------解决方案--------------------http://hi.baidu.com/lael80/blog/item/d0bd46df1941d31248540363.html   
 javascript格式化数字,如 8888.85745 格式化成 8,888.86