我在这里使用下面的javascript做的是将数字实时转换为实时的货币格式。
function myFunc(){
var numb='';
nStr = document.getElementById('dj_car').value;
my = nStr.split('.');
var Len = my.length;
for (var i=0; i<Len;i++){numb = numb+my[i];}
x = numb.split('.');
x1 = x[0];
x2 = x.length > 1 ? '.' + x[1] : '';
var rgx = /(\d+)(\d{3})/;
while (rgx.test(x1))
{
x1 = x1.replace(rgx, '$1' + '.' + '$2');
}
formated = x1 + x2;
document.getElementById('dj_car').value = formated;
}
我的问题是如何在数字末尾将EUR作为文本?我需要将数字转换为“1.000欧元”,但截至目前它看起来像是“1.000”
提前致谢,
答案 0 :(得分:0)
其他人获得EUR EUR EUR
?一切似乎都很好。
如果您提交了replace()
,则会将EUR发送到该功能,因此需要将其删除。我还建议更多验证。
修改:我已更新
.replace()
以删除0-9以外的任何内容。
function myFunc(){
var numb='';
//---- Remove EUR if submitted more than once!
nStr = document.getElementById('dj_car').value.replace(/[^0-9]/g,'');
my = nStr.split('.');
var Len = my.length;
for (var i=0; i<Len;i++){numb = numb+my[i];}
x = numb.split('.');
x1 = x[0];
x2 = x.length > 1 ? '.' + x[1] : '';
var rgx = /(\d+)(\d{3})/;
while (rgx.test(x1))
{
x1 = x1.replace(rgx, '$1' + '.' + '$2');
}
formated = x1 + x2;
document.getElementById('dj_car').value = formated+'EUR';
}
&#13;
<input type="text" id="dj_car" oninput="myFunc()"/>
&#13;
我希望这会有所帮助。快乐的编码!