获得白银或黄金价格

时间:2012-07-20 18:33:35

标签: javascript regex

我写的小部件程序是为了从彭博网站获得白银价格或金价 这些是脚本的一部分:

function getPrice()  {

    var url = new URL();
    url.location = "http://www.bloomberg.com/markets/commodities/futures/";
    url.fetchAsync(PriceReturn);
}


function PriceReturn(url)   {

    var resultStr = url.result;     
    var subCheck = resultStr.substring(resultStr.indexOf("SILVER"));    
    foundStr = subCheck.match("[0-9]+\.[0-9]+");
    setPrice(parseFloat(foundStr).toFixed(2));
}

我可以得到Silver的价格(比如现在说27.30),但是当我想检查黄金价格(.indexOf("GOLD"))时(现在就说1,585.60)

获得该价格的subcheck.match()脚本是什么?

2 个答案:

答案 0 :(得分:2)

您的问题是[0-9]+\.[0-9]+1,585.60之类的数字不匹配。正确的正则表达式是:

/\d{1,3}(?:,\d{3})*\.\d{2}/

这将格式化的数字与两位小数相匹配。

答案 1 :(得分:0)

我认为te模式应该是这样的:

/\d+(\,\d+)?\.\d{1,3}/