Javascript:输入将数字转换为美元

Javascript:输入将数字转换为美元,javascript,Javascript,我有下面的输入字段,在这里我将数字转换为美元货币格式。我有两个问题要解决。 第一个是,当数字为千时,我希望第一个数字用逗号分隔(例如:1089.33)。第二个问题是,当我键入一些东西,然后尝试完全删除输入中的任何内容时,它会给我一个0,00。我希望能够完全删除输入中的数字。 有没有关于如何解决这两个问题的想法 函数formatAmountNoDecimals(数字){ var rgx=/(\d+)(\d{3})/; while(rgx.测试(编号)){ number=number.replac

我有下面的输入字段,在这里我将数字转换为美元货币格式。我有两个问题要解决。 第一个是,当数字为千时,我希望第一个数字用逗号分隔(例如:1089.33)。第二个问题是,当我键入一些东西,然后尝试完全删除输入中的任何内容时,它会给我一个0,00。我希望能够完全删除输入中的数字。 有没有关于如何解决这两个问题的想法

函数formatAmountNoDecimals(数字){
var rgx=/(\d+)(\d{3})/;
while(rgx.测试(编号)){
number=number.replace(rgx,'$1'+'.'+'$2');
}
返回号码;
}
函数格式金额(数字){
//删除除数值以外的所有字符
编号=编号。替换(/[^0-9]/g',);
//设置默认值
如果(number.length==0)number=“0.00”;
否则,如果(number.length==1)number=“0.0”+number;
如果(number.length==2)number=“0.”+number;
else number=number.substring(0,number.length-2)+'.+number.substring(number.length-2,number.length);
//设定精度
编号=新编号(编号);
number=number.toFixed(2);//仅适用于“”
//将拆分器更改为“,”
编号=编号。替换(/\./g,,);
//设置金额的格式
x=数字。拆分(',');
x1=x[0];
x2=x.长度>1?','+x[1]:'';
返回格式数nodecimals(x1)+x2;
}
$(函数(){
$('.amount').keyup(函数(){
$(this.val)(formatAmount($(this.val()));
});
});

像这样试试

函数formatAmountNoDecimals(数字){
var rgx=/(\d+)(\d{3})/;
while(rgx.测试(编号)){
number=number.replace(rgx,'$1'+','+'$2');
}
返回号码;
}
函数格式金额(数字){
//删除除数值以外的所有字符
编号=编号。替换(/[^0-9]/g',);
编号=编号。替换(/\。/g');
//设置默认值
如果(number.length==0)number=“”;
否则,如果(number.length==1)number=“0.0”+number;
如果(number.length==2)number=“0.”+number;
else number=number.substring(0,number.length-2)+'.+number.substring(number.length-2,number.length);
如果(数字){
//设定精度
编号=新编号(编号);
number=number.toFixed(2);//仅适用于“”
//将拆分器更改为“,”
//控制台日志(编号);
//编号=编号。替换(/\./g,,);
控制台日志(编号);
//设置金额的格式
x=数字。拆分(',');
x1=x[0];
x2=x.长度>1?','+x[1]:'';
返回格式数nodecimals(x1)+x2;
}否则{
返回“”;
}
}
$(函数(){
$('.amount').keyup(函数(){
$(this.val)(formatAmount($(this.val()));
});
});


您确定不只是想使用吗?
tSaveext
输入
元素上是无效的
类型
值。您的第一个问题已经得到回答,谢谢您的帮助@Syed Mohamed Aladeen。。。它工作得很好:))还有一件事@Syed Mohamed Aladeen。。。如果我在键入数字后单击backspace/delete,是否有办法删除整个数字?