日期:2014-05-16  浏览次数:20302 次

求输入金额格式的JS代码,谢谢!
千分位分隔的很容易解决,但现在有个需要,网上没找到:
  若输入了10000,需要格式是:10,000.00
  若输入了10000.99,需要的格式是:10,000.99
  若输入了10000.999,需要格式:10,001.00(四舍五入)
不能输入, .以外的符号

不懂JS啊,请问可以帮我解决吗?谢谢。

------解决方案--------------------
<script>
window.onload=function(){
var obj=document.getElementById("txt1");
var flg=false;
obj.onfocus=function(){flg=false;};
obj.onkeypress=function(){
var v=String.fromCharCode(event.keyCode);
v=this.value+v;
flg=false;
if(!v.match(/^-$|^-?\d+[.]$|^-?\d+([.]\d+)?$/))return false;
flg=true;
}
obj.onblur=function(){
if(!flg)return;
this.value="$"+this.value.replace(/([\d]+?)(?=(?:\d{3}([.]\d+)?)+$)/g,
function($0,$1,$2,lastIndex,str){
if(str.substring(0,lastIndex+4).indexOf(".")!=-1)return $1;
return $1+",";
});
}
}
</script>
<input id=txt1>1234567890a
需要格式的话转换一下就行了。
------解决方案--------------------
探讨
没人懂吗?!

------解决方案--------------------
JScript code

var x = parseFloat('1000000000.00');
document.write(x.toLocaleString());