Чтобы убрать знаки препинания из строки и посчитать количество слов, можно использовать регулярное выражение в методе replace(), которое заменит все знаки препинания на пробелы, а затем воспользоваться методом split() для разделения строки на массив слов. Вот пример кода:
const input = document.querySelector('textarea');
const text = input.value;
const regex = /[^\w\s]|_/g; // регулярное выражение, которое находит все знаки препинания
const sanitizedText = text.replace(regex, ' '); // заменяем знаки препинания на пробелы
const words = sanitizedText.trim().split(/\s+/); // разделяем строку на массив слов
const wordCount = words.length; // получаем количество слов
console.log(wordCount);
Здесь мы используем регулярное выражение [^\w\s]|_ для поиска всех знаков препинания и символов подчеркивания. Знак ^ в квадратных скобках означает "не", то есть мы ищем все символы, которые не являются буквами или пробелами. Затем мы используем метод replace() для замены всех найденных символов на пробелы. Затем мы используем метод trim() для удаления лишних пробелов в начале и конце строки, а метод split(/\s+/) для разделения строки на массив слов по одному или нескольким пробелам. Наконец, мы получаем количество слов в массиве с помощью свойства length и выводим результат в консоль.