function aa(inputobj)
{
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("数字不合法");
}
}