我已使用indexOf
在term
内搜索text
(两者都是字符串),如下所示:
if (text.indexOf(term) > -1) { …
但是,我希望不的搜索区分大小写。我已经对两个字符串执行.toLowerCase()
进行了测试,但这样做的性能损失很大(我正在搜索具有数千个元素的text
数组)。因此,我正在考虑切换到.search()
,如此:
var re = new RegExp(term, 'i');
// and then
if (text.search(re) > -1) { …
这种方法可行吗?如何在这种情况下确保term
被“字面上”对待,即term
中的某些字符不会被解释为特殊字符?