Подсчет символов в JavaScript

У меня возникли проблемы с конкретным кусочком JavaScript. мой код должен найти конкретную букву в текстовой области, выбранную и написанную человеком. Мне нужна помощь в подсчете моих конкретных персонажей.

function search(){

    var s= document.getElementById("find").value;
    document.getElementById("letter").value= s;

    var t= document.getElementById("text");
    var c= document.getElementById("find").text;
}

(это мой текущий код)

2 ответа

Решение

Вы можете конвертировать идентификаторы HTML-элемента в соответствии с вашими потребностями.

HTML: -

function search(){

    var textareaValue = document.getElementById("text").value;
    //console.log(textareaValue);
    
    var characterToSearch = document.getElementById("characterToFind").value;
    //console.log(characterToSearch);
    var count = 0;
    for(var i = 0; i < textareaValue.length; i++){
     if(characterToSearch == textareaValue[i]){
       count++;
      }
    }
    document.getElementById("totalCharacters").innerHTML = count;
    /*
    document.getElementById("letter").value= s;

    var t= document.getElementById("text");
    var c= document.getElementById("find").text;
    */
}
<label>Textarea</label> <textarea id="text">
</textarea>
<br>
<label>Enter character to find</label>
<input type="text" id="characterToFind">
<br>
<input type="button" onclick="search();" value="Search">
<br>
<label>Characters Found : </label><label id="totalCharacters"></label>

Я использовал RegExp для подобных вещей в прошлом, но, вероятно, это не самое эффективное решение:

var charCount = (text.match(RegExp(letter, "g")) || []).length;

Вы также должны проверить, что это действительно буква, которую вы ищете, иначе вам придется экранировать символы, которые являются управляющими символами в RegExp

Другие вопросы по тегам