Подсчет символов в 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