2016-09-16 40 views
1

誰でも助けてくれますか?文字列を抽出し、整数として警告する

クラス名が「first」のスパン内の次の文字列から、price2の量を抽出します。

したがって、jqueryスクリプトは "1 000.00"を抽出し、それを2で割ってアラートでその数(500)を出力する必要があります。

<span class="first"><span class="second">Order</span>Price1: 1 100.00 USD Price2: 1 000.00 Price3: 1 200.00</span>

可能ということですか?私は弦全体を抽出することができますが、残りの部分をそのまま残すことで小さな部分を抽出することはできません。

答えて

0

は、最初のテキストを取得し、その後、/Price2: ([\d. ]+)/正規表現で番号を抽出.replace(/\s+/g,'')ですべてのスペースを削除してから2

var e = $('span[class="first"]'); 
 
var m = e.text().match(/Price2: ([\d. ]+)/); 
 
if (m) { 
 
    var res = Number(m[1].replace(/\s+/g,''))/2; 
 
    alert(res); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<span class="first"><span class="second">Order</span>Price1: 1 100.00 USD Price2: 1 000.00 Price3: 1 200.00</span>
で割り:-)あなたの助け

感謝

詳細

  • /Price2: ([\d. ]+)/は、Price2:と一致し、一致します。は、1つ以上の数字、スペース、およびドットでグループ化します。グループ1が必要なのは、if (m)と一致するかどうかをチェックしてから、グループ1にアクセスする場合はm[1]
  • です。スペースのある文字列番号は数値型に変換できません。すべてのホワイトカードを削除する必要があります。は1+空白。
  • ​​は冗長です。コードを冗長で自明のままにしておくと、/2m[1].replace(/\s+/g,'')の結果を自動的に数値にキャストします。
+0

本当にありがとうございました。別のライブラリやFireFoxで問題があるかもしれません。ここでエラーはありません:エラー:権限が "toString"プロパティにアクセスすることを拒否された可能性があります純粋なjavascriptのバージョンですか?または回避策ですか? – Susan

+0

FF 47.0でスニペットを実行し、 '500'アラートを取得しました。私はちょうどgoogled http://stackoverflow.com/questions/13100611/replace-url-from-youtube-to-embed-code-error-permission-denied-to-access-prop、確認してください。 –

関連する問題