[英]use variable in regular expression in jquery
對某些專家來說,這可能是一個非常容易的問題,但對我而言似乎很難。 我想在正則表達式的模式中使用variable
。
$("#srcbtn .btnPage").live("click",function(){
var filter = $(this).val(), count = 0;
$(".checkpoint").each(function () {
if ($(this).find(".chpdetails .chkpname").text().search(new RegExp(/\b filter /i)) < 0) {
$(this).hide();
} else {
$(this).show();
count++;
}
});
});
但過濾條件變量在if
條件下不起作用。 該代碼的目的是搜索一個以filter
變量的值開頭的單詞,即A,B等。我該怎么做?
提前致謝。
用這個 :
new RegExp("\\b" + filter, 'i')
請參閱RegExp文檔
如果您有許多檢查點,則可能應該在進入循環之前構建regexp對象,而不是在每次迭代時都構建它:
var r = new RegExp("\\b" + filter, 'i');
$(".checkpoint").each(function () {
if ($(this).find(".chpdetails .chkpname").text().search(r) < 0) {
$(this).hide();
} else {
$(this).show();
count++;
}
});
使用構造函數可以實現RegExp
$("#srcbtn .btnPage").live("click",function(){
var filter = $(this).val(), count = 0;
$(".checkpoint").each(function () {
if ($(this).find(".chpdetails .chkpname").text().search(new RegExp("\\b" + filter, "i")) < 0) {
$(this).hide();
} else {
$(this).show();
count++;
}
});
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.