probar con cadenas de texto y para buscar mas de una palabra separar por +
Cita: <script>
var texto="";
function resaltar(){
var encontro=0;
var donde=0;
valo=document.getElementById('tt').value;//caja de texto con id="tt"///
if (valo!=""){
val=valo.split("+");
valor=val.join("|");
reemplazar=RegExp("^("+valor+")$","i");
if(texto==""){texto=document.body.innerHTML};
txt=texto.split(">");
for (x=0;x<txt.length;x++){
desde=(txt[x].indexOf("<")!=-1)?txt[x].indexOf("<"):0;
tempP=txt[x].slice(0,desde);
tempU=txt[x].slice(desde);
tempPx=tempP.split(" ");
for(y=0;y<tempPx.length;y++){
if(tempPx[y].search(reemplazar)!=-1 ){
tempPx[y]="<span style=\u0022background-Color:yellow;\u0022>"+tempPx[y]+"</span>";
encontro+=1;
}
}
tempP=tempPx.join(" ");
for (r=0;r<val.length;r++){
tempR=RegExp(val[r],"i");
if (val[r].indexOf(" ")!=-1 && tempP.search(tempR)!=-1){
tempP=tempP.replace(tempR,"<span style=\u0022background-Color:yellow;\u0022>"+val[r]+"</span>");
encontro+=1;
}
}
txt[x]=tempP+tempU;
}
document.body.innerHTML=txt.join(">");
alert((encontro==0)?"No se encontro ''"+valor+"''":"Se encontraton "+encontro+" coincidencias");
}
}
</script>