js 多个关键词匹配标红如何实现

如题, 我直接上代码
var clikeyName = ($.data(dataCache, 'keysC', aKey1))
$(".HomeMain").html(function(){
var editname ="";
for(var i = 0; i< clikeyName.length; i++){
editname += this.innerHTML.replace(new RegExp(clikeyName[i],'g'), ''+ clikeyName[i] +'');;
}
return editname;
})

当前我写的这个代码可以实现单个关键词匹配标红, 然后clikeyName 这个变量是处理过的可以获取长度,和每个下标下的内容, 但是多个关键词匹配的要怎么实现? 望大神赐教

把单个关键字换成你点那个就传那个的值进方法

clikeyName数组用|串接就行了,前后加()变为一个分组,直接替换

     var clikeyName = ($.data(dataCache, 'keysC', aKey1))
    $(".HomeMain").html(function () {
        return this.innerHTML.replace(new RegExp('(' + clikeyName.join('|') + ')', 'g'), '<font color=red>$1</font>')
    })