从价格中删除货币符号

问题描述:

价格在我的网站上显示为:20美元,如何删除美国符号并使用正则表达式(JavaScrip)保留$符号?从价格中删除货币符号

我想价格将呈现这样的:$ 20

我已经试过这样:

<script> 

$.each($('.price'), function() { 
var pri = $(this).html(); 
$(this).html(pri.replace(/\D/g,'')); 
}) 

</script> 

任何想法?

+7

你尝试自行解决这个问题? – mdziekon

+0

是的,这是我试过的:'' – Sirius

+2

'你应该**总是**发布你的代码在这个问题上,这样我们可以看到你已经尝试过什么,它更容易帮助。 – mdziekon

您应该使用replace方法,该方法接受第一个参数a regex表达式。

replace()方法返回一个新字符串,其中某个或所有匹配项的匹配项为 替换为替换项。该模式可以是一个字符串或一个 RegExp,替换项可以是一个字符串或函数,对于每个匹配项将被称为 。

let string='20$US'; 
 
let desired = string.replace(/US/gi, ''); 
 
console.log(desired);

+2

使用'let'和'var'听起来像不好的代码风格。 – Olga

+0

@Olga,在这个例子中是的,但在实际应用中没有。 'let'是专门用于封闭块作用域的'closures'.'let'的解决方案。 –

+0

'closures'不是一个问题,它们是一种语言功能,所以我不明白你是如何解决它们的。使用let和var一起挫败了let,const的用途,它在被定义之前被用作块范围并抛出错误。但我想这可能会变成一场漫长的题外话题。 =) – Olga