我可能只是在这里滥用.filter(),但我一直试图从javascript选项框中提取一段特定的文本而没有太大的成功。
简而言之,我的每个选项框都有一堆信息,然后在括号中,([x]项目留在库存中)。
我想提取[x],但我似乎无法在jQuery中使用任何类型的正则表达式过滤 - 或者,或许,我做错了。
简而言之,如果有人能完成以下内容,我将非常感激:
$('.productSelect').change(function() {
selectedItem = $(this + 'option:selected').text();
# Now grab the integer "x" inside the ([x] items left in stock) part of the text
[ your code here]
});
非常感谢任何帮助。
答案 0 :(得分:1)
这些方面的东西:
$('.productSelect').change(function() {
selectedItem = $(this + 'option:selected').text();
# Now grab the integer "x" inside the ([x] items left in stock) part of the text
var n = selectedItem.match(/(\()(\d+)(\))/)[2];
});
当然,此表达式取决于您的数据格式为(number) string
答案 1 :(得分:0)
这可以满足您的需求。
var pattern=/\[(\d+)\] items left in stock/;
var qty = pattern.exec(selectedItem)[1];
答案 2 :(得分:0)
所以你应该使用JavaScript string.match函数
var s = "[100] items left in stock";
var p = s.match(regexp);