0

I'm trying to create a little tool that when a user enters a sentence, and then a specify letter, it takes that letter and counts it in the sentence above entered by the user and displays the number of times the letter appears in the sentence.

let sentence = document.getElementById("textbox1")
let character = sentence.value
let letter = document.getElementById("textbox2")
let getLetter = letter.value
var exampleString = character
document.getElementById("parseString").onclick = letterCount;
function letterCount(string, letter, caseSensitive) {
  var count = 0;
  if (!caseSensitive) {
    string = string.toUpperCase();
    letter = letter.toUpperCase();
  }
  for (var i = 0, l = string.length; i < string.length; i += 1) {
    if (string[i] === letter) {
      count += 1;
    }
  }
  return count;
}
let display = (letterCount(character, getLetter, true));
document.getElementById("output1").innerHTML 
<p>Enter a sentence: <input type="text" id="textbox1"></p>
<p>Enter a letter: <input type="text" id="textbox2"></p>
<button id="parseString">Parse String</button>
<p id="output1">The letter appears in the string</p>

I'm still new to JavaScript and still learning how to code and nest certain things properly.

Alessio Cantarella
  • 5,077
  • 3
  • 27
  • 34
Michael Kheong
  • 194
  • 1
  • 10

1 Answers1

1

Cleaned up your code, Some of the variables in top must be inside your event handler

document.getElementById("parseString").onclick = function() {
  let character = document.getElementById("textbox1").value;
  let getLetter = document.getElementById("textbox2").value;
  let count = letterCount(character, getLetter, true);
  document.getElementById("output1").innerHTML = `The letter '${getLetter}' appears in the string '${character}' ${count} times`;
}

function letterCount(string, letter, caseSensitive) {
    regexp = caseSensitive ? new RegExp(letter, 'g') : new RegExp(letter, 'gi');
    return string.match(regexp).length;
}
<p>Enter a sentence: <input type="text" id="textbox1"></p>
<p>Enter a letter: <input type="text" id="textbox2"></p>
<button id="parseString">Parse String</button>
<p id="output1">The letter appears in the string</p>
nerding_it
  • 704
  • 7
  • 17