我想突出顯示一個句子中的單個字符串。替換應該使用不區分大小寫的字符(如My Foo bar
中的字符串foo
)。在JavaScript中替換/突出顯示字符串 - 保持區分大小寫
這是沒有問題的,我:
var regEx = new RegExp(this._searchString, "gi");
var label = $(item).text();
label = label.replace(regEx, '<span style="font-weight:bold;">' + this._searchString + '</span>');
$(item).html(label);
的這裏的問題是: 如果我搜索和替換foo
在My Foo bar
,其結果將是 My <span style="font-weight:bold;">foo</span> bar
,但我要的是My <span style="font-weight:bold;">Foo</span> bar
。
因此,搜索應忽略區分大小寫,但不要替換。任何想法如何做到這一點?我看到的唯一方法是首先檢查字符串是否包含搜索的字符串,將其解壓縮(區分大小寫),修改並將其放回字符串中。但是這對我來說似乎太過分了,不是嗎?
如何通過正則表達式的內部JavaScript變量?我試過''/('+ variable +')/ gi'',但它不起作用。 – Chris
這是因爲您通過將它換成引號將正則表達式轉換爲字符串。使用'RegExp'構造函數。 'var reg = RegExp('('+ variable +')','gi');' – techouse