任何人都可以帮助我吗?
从spanname中的以下字符串开始,使用classname" first"我想提取价格2。
因此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>
&#13;
这可能吗?我只能提取整个字符串而不是小部分,而不是保持原状。
感谢您的帮助: - )
答案 0 :(得分: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);
}
&#13;
<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>
&#13;
<强>详情:
/Price2: ([\d. ]+)/
匹配Price2:
并匹配并捕获到第1组一个或多个数字,空格和点。我们只需要第1组,因此我们检查是否与if (m)
匹配,然后使用m[1]
\s+
匹配1 +空格。Number()
是多余的,我只是保持代码冗长且不言自明,/2
会自动将m[1].replace(/\s+/g,'')
的结果转换为数字。