Чем можно заменить цифру в тексте в innerText?

new MutationObserver((mutations, observer) => {
    const Node = document.querySelector('.myclass');
  if (Node.matches('.myclss') && Node.innerText === 'Cегодня 1 ноября'){
 document.querySelector('.button').classList.remove('disabled'); 
  } else {  
 document.querySelector('.button').classList.add('disabled');
   }}).observe(document, { subtree: true, childList: true });

У меня код, который при обнаружении элемента и определённого текста в нём удаляет или добавляет класс. Код работает, но проблема в том, что текст меняется, а точнее меняется всего лишь цифра в этом тексте innerText === 'Cегодня 2 ноября' и так далее. Я сделал так if (Node.matches('.myclss') && Node.innerText === 'Cегодня 1 ноября' || Node.innerText === 'Cегодня 2 ноября' || Node.innerText === 'Cегодня 3 ноября') и так далее. И всё работает. Но код получается грамозкий. Нельзя ли вместо цифры что-то подставить, какой-нибудь универсальный символ innerText === 'Cегодня * ноября'?


Ответы (1 шт):

Автор решения: 42proger

Можно воспользоваться regex \d+ и немного скорректировать этот участок кода

if (Node.matches('.myclss') && /^Cегодня \d+ ноября$/.test(Node.innerText))

\d+ в регулярном выражении означает одну или более цифр.

→ Ссылка