Я немного боролся с этим и не нашел ничего хорошего на сайте. Я пытаюсь найти количество слов в текстовой области без split () (потому что в некоторых ситуациях он пропускает пробелы и пропускает слова), вот что я пробовал:
text.addEventListener('input', () => {
let wordCounter = 0;
let sentenceCounter = 0;
let charCounter = text.value.split('').length;
let flag = false;
let flag2 = false;
if(text.value === ' ' || text.value === ''){
wordCounter = 0;
}
for(let z = 0; z < text.value.length; ++z){
if(text.value[z] == '.' && flag == false){
sentenceCounter++;
flag = true;
}
if((/\w/).test(text.value[z])){
flag = false;
}
}
for(let z = 0; z < text.value.length; ++z){
if(text.value[z] == " " && flag2 == false){
wordCounter++;
flag2 = true;
}
if((/\w/.test(text.value[z]))){
flag2 = false;
}
}
sentences.innerHTML = `${sentenceCounter} : Sentences`
char.innerHTML = `${charCounter} : Characters`
words.innerHTML = `${wordCounter} : Words`
});
проблема здесь что он считает слова, только если нажать пробел, что означает, что «fa» не считается словом, а «fa». Заранее спасибо за помощь!