Как найти подстроку в пользовательском вводе на JavaScript

Привет всем! Создаю чат-бота на JavaScript и столкнулся с проблемой. Использую конструкцию switch для обработки сообщений пользователя, но не могу понять как искать определенные слова внутри текста который ввел пользователь.

Например, если пользователь написал “сколько стоит услуга”, мне нужно найти слово “услуга” и показать соответствующий ответ.

Вот мой текущий код:

let userMessage = document.getElementById('userMessage');
let submitButton = document.getElementById('submitButton');
submitButton.addEventListener('click', function(){
    processUserInput()
    switch(userMessage.value){
        case 'услуга':
            showPriceInfo();
            break;

Подскажите пожалуйста как это можно реализовать?

я бы использовал indexOf() - работает отлично. Пиши if(userMessage.value.toLowerCase().indexOf('услуга') !== -1) и сработает даже с “моя услуга дорогая”. Только помни - найдет и “услугами”. Если это важно, лучше split() по пробелам и проверяй каждое слово отдельно.

Попробуй использовать includes() для поиска нужного слова в вводе пользователя. Например, userMessage.value.includes('услуга') вернёт true, если слово есть. Не забудь про toLowerCase(), чтобы учесть регистр. Если нужно строгое совпадение, регулярные выражения помогут.