if($('form').html().indexOf('VPS', 0) > -1) {
console.log("Found");
}
} else {
console.log("Not found");
}
嗨,上面是我现在的代码,我要做的是找到" VPS"在表单中,如果它找到单词" VPS"它也应该找到这个" $"在表格中的符号,并给我在" $"之后的数字。符号
那么脚本应该做的是,找到单词" VPS"如果它发现它得到了" $"之后的数字。签名,我该怎么做?
<form method='post'>
<input type='hidden' name='ID' value=321 />
<b>[2014-10-13 00:01:28]</b>
xJMC is selling 1 VPS Server(s) for $200.
<input style='float:right;' value='BUY NOW' name='bootBtn' type='submit' class='btn btn-success btn-mini' />
<br>
</form>
答案 0 :(得分:0)
您可以使用.match()
方法按预期捕获价格。由于您已经提到可以使用多个表单,因此我建议循环遍历<form>
元素的所有实例。使用price
生成的.match()
对象捕获价格。
$('form').each(function() {
if($(this).html().indexOf('VPS', 0) > -1) {
var price = $(this).text().match(/(\$\d+(\.\d+)?)/);
console.log(price[0]);
}
});
诀窍是用模式/(\$\d+(\.\d+)?)/
捕获价格。这意味着价格必须后跟一个$
符号,后面跟一个或多个数字,后面跟一个基数(.
)和分母(美分)。
See working fiddle here(查看浏览器的控制台日志以查看捕获的价格)。