Jquery IndexOf在$符号后找到数字

时间:2014-10-12 22:13:57

标签: jquery

 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>

1 个答案:

答案 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(查看浏览器的控制台日志以查看捕获的价格)。