javascript正则表达式钱

时间:2012-10-02 12:16:28

标签: javascript jquery ajax regex json

我正在尝试删除从json Feed中提取的货币值的小数值:

如果我喜欢: 150,000 我想要 150

是我的代码:

$.getJSON('/static/js/datatest.json', function (result){

  $.each(result.events, function(i, item){
    $('#isoContainer').append('<h3>&pound;<span class="value">' + item.value.replace(/\.0{0,2}$/, "") + '</span></h3>');               
  });   
});

为什么这不起作用 item.value.replace(/\,0{0,3}$/, "")

4 个答案:

答案 0 :(得分:0)

因为你转义逗号,正确的版本是

/,0{0,3}$/

或如果它没有到达行尾,只需

/,0{0,3}/

编辑:

如果您可以在,之后使用非零值,而不是

/,\d{0,3}/

编辑2:

同时检查你正在使用的'culture',表示小数位的开头而不是千位分隔符

答案 1 :(得分:0)

您提供的代码在正则表达式中使用.,而不是,

答案 2 :(得分:0)

这有效:

"150,000".replace(/,(0|00|000)$/, "") // "150"

$表示字符串的结尾,除此之外,它只是简单的正则表达式。

答案 3 :(得分:0)

为什么不使用parseInt()

> parseInt("150,000");
150
> parseInt("150.000");
150