0

ブルームバーグのウェブサイトから銀または金の価格を取得するウィジェット プログラムを作成しました。これらはスクリプトの一部です。

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));
}

.indexOf("GOLD")シルバーの価格 (現在 27.30 としましょう) を取得できますが、ゴールド価格 ( ) (現在 1,585.60 としましょう)を確認したい場合

subcheck.match()その価格を取得するためのスクリプトは何ですか?

4

2 に答える 2

2

あなたの問題は、[0-9]+\.[0-9]+のような番号と一致しないこと1,585.60です。正しい正規表現は次のとおりです。

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

これは、書式設定された数値を小数点以下 2 桁まで一致させます。

于 2012-07-20T18:38:21.537 に答える
0

teパターンは次のようにする必要があると思います:

/\d+(\,\d+)?\.\d{1,3}/
于 2012-07-20T19:25:35.770 に答える