我编写了小部件程序,用于从彭博网站获取白银或黄金的价格 这些是脚本的一部分:
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));
}
我可以获得白银的价格(假设现在是 27.30),但是当我想检查黄金价格 (.indexOf("GOLD")
) 时(假设现在是 1,585.60)
获取该价格的 subcheck.match()
脚本是什么?
最佳答案
您的问题是 [0-9]+\.[0-9]+
与 1,585.60
等数字不匹配。正确的正则表达式是:
/\d{1,3}(?:,\d{3})*\.\d{2}/
这会将格式化数字匹配到小数点后两位。
关于javascript - 获取白银或黄金汇率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11585039/