我從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,所以如果在其中一個方法的幫助下有一個更簡單的方法,那將是很好的。