Замена строки без учета регистра в JavaScript?

Мне нужно выделить, без учета регистра, заданные ключевые слова в строке JavaScript.

Например:

highlight("foobar Foo bar FOO", "foo") должен вернуться"<b>foo</b>bar <b>Foo</b> bar <b>FOO</b>"

Мне нужен код для работы с любым ключевым словом, и поэтому я использую жестко закодированное регулярное выражение, например/foo/i не является достаточным решением.

Какой самый простой способ сделать это?

(Это пример более общей проблемы, подробно изложенной в заголовке, но я чувствую, что лучше заняться конкретным, полезным примером.)

Ответы на вопрос(1)

Ваш ответ на вопрос