Как сделать поиск подстроки в JavaScript без учета регистра

Проблема с проверкой строк без учета регистра

У меня есть массив строк, и мне нужно проверить, содержит ли другая строка какую-либо из этих подстрок. Основная сложность заключается в том, что проверка должна работать независимо от регистра символов.

var searchTerms = ['apple', 'banana', 'orange'];
var userInput = sessionStorage.getItem("usertext");

for (let j = 0; j < searchTerms.length; j++) {
    if (userInput.includes(searchTerms[j])) {
        console.log("найдено совпадение");
    }
}

На данный момент этот код не работает, если в userInput окажется такой текст, как APPLE или BaNaNa. Как я могу решить эту проблему? Желательно использовать регулярные выражения или другой понятный метод.

Просто используй .toLowerCase() для обеих строк: if (userInput.toLowerCase().includes(searchTerms[j].toLowerCase())). Регулярки тут не нужны. Как думаешь, сработает?

Можешь еще через регулярки - создай паттерн с флагом i: new RegExp(searchTerms[j], 'i') и используй .test(userInput). Флаг i игнорирует регистр. Удобнее чем toLowerCase везде совать, особенно когда поиск усложняется.