<script>
function formatNumber(eValue){
var intPart = '';
var decPart = '';
if (eValue.indexOf(',') >= 0){
eValue=eValue.replace(/,/g,'');
}
//判断是否包含'.'
if (eValue.indexOf('.')>=0){
intPart = eValue.split('.')[0];
decPart = eValue.split('.')[1];
}else{
intPart = eValue;
}
var num = intPart + '';
var re = /(-?\d+)(\d{3})/
while(re.test(num)){
num = num.replace(re, '$1,$2')
}
if (eValue.indexOf(".") >= 0){
eValue = num + "." + decPart;
}else{
eValue = num ;
}
return eValue;
}
//test:
alert(formatNumber('231209067534546.34'));
</script>
function formatNumber(eValue){
var intPart = '';
var decPart = '';
if (eValue.indexOf(',') >= 0){
eValue=eValue.replace(/,/g,'');
}
//判断是否包含'.'
if (eValue.indexOf('.')>=0){
intPart = eValue.split('.')[0];
decPart = eValue.split('.')[1];
}else{
intPart = eValue;
}
var num = intPart + '';
var re = /(-?\d+)(\d{3})/
while(re.test(num)){
num = num.replace(re, '$1,$2')
}
if (eValue.indexOf(".") >= 0){
eValue = num + "." + decPart;
}else{
eValue = num ;
}
return eValue;
}
//test:
alert(formatNumber('231209067534546.34'));
</script>
<input type=text name=txt onkeyup="test(this)"><script>
//用于处理小数
function dot(v) {
var re = /\.\d\d/;
if(re.test(v))
return v.replace(/(.+\.\d\d).*/,"$1");
return v;
}//用于处理千分位
function comma(v){
v = v.replace(/,/g,"");
var ar = v.split(".");
var s = ar[0];
var d = "";
var re=/(\d+)(\d{3})/;
while(re.test(s))
s=s.replace(re,"$1,$2");
if(ar.length>1)
return s+"."+ar[1];
return s;
}//事件入口
function test(o){
o.value = comma(o.value);
o.value = dot(o.value);
}
</script>
下面这句代码:
var re = /(-?\d+)(\d{3})/;要改成:
var re = /^(-?\d+)(\d{3})/