我从Web服务获取货币值,我想在数字输入(浮动部分)中显示货币值,并且它是货币符号/名称在简单标签上这是输入的旁边。数据JavaScript将货币分成数字值和货币符号/名称
的例子,我从Web服务中获得:
$ 1.200,05
R $ 1200.05
KR。 1,200.05
37,200.05 KR。
$ 300
500.0€
你可以看到的数据是非常复杂的。
符号/货币名称可以是前或数字值后,它可以具有符号和数量,或者没有空间在所有之间的空间。它也可以有一个点货币名称里面,我仍然想保留(像丹麦克朗:KR)
小数点符号可以是一个“。“或” ,',它可以跟随任何数量的小数。 同样与千分:它可以是一个“”或“”
我有下面的代码片断得到的数值,但我遇到麻烦货币字符串部分:
if (!isNaN(cost.charAt(0))) { //check whether it starts with number or string, to adjust the regex
var regex = /([+-]?[0-9|^.|^,]+)[\.|,]([0-9])/
var result = regex.exec(cost);
var floatResult = result? result[1].replace(/[.,]/g, "")+ "." + result[2] : cost.replace(/[^0-9-+]/g, "");
return floatResult;
}
else {
var regex = /([+-]?[0-9|^.|^,]+)[\.|,]([0-9]+)$/igm
var result = regex.exec(cost);
var floatResult = result? result[1].replace(/[.,]/g, "")+ "." + result[2] : cost.replace(/[^0-9-+]/g, "");
return floatResult;
}
我在我的web应用程序使用jQuery和AngularJS,所以如果在其中一个方法的帮助下有一个更简单的方法,那将是很好的。