title: Why does the javascript's .toUpperCase function include numbers?
body: <p>When I put numbers in my "password", there is no uppercase error message. HELP!!! You can ignore most of the code. My question is why when I put numbers in the password the console doesn't log "Incorrect password. Please put a uppercase letter."
  (Where you type the password is in the last line of the code) Thanks for helping!</p>
  
  <pre><code>var specialCharacters = ["!", "@", "#", "$", "%", "^", "&amp;", "*", "(", ")", 
  "[", "]"];
  
  function isPasswordValid(input) {
  if (hasUpperCase(input) &amp;&amp; hasLowercase(input) &amp;&amp; isLongEnough(input) &amp;&amp;  hasSpecialCharacter(input)) {
  console.log("The password is valid.");
  }
  
  if (!hasUpperCase(input)) {
  console.log("Incorrect password. Please put a uppercase letter.");
  }
  
  if (!hasLowercase(input)) {
  console.log("Incorrect password. Please put a lowercase letter.");
  }
  
  if (!isLongEnough(input)) {
  console.log("Incorrect password. Please increase the length of your password to 8 characters.");
  }
  
  if (!hasSpecialCharacter(input)) {
  console.log("Incorrect password. Please put a special character.");
  }
  }
  
  function hasUpperCase(input) {
  for (var i = 0; i &lt; input.length; i++) {
  if (input[i] === input[i].toUpperCase()) {
    return true;
  }
  }
  }
  
  function hasLowercase(input) {
  for (var i = 0; i &lt; input.length; i++) {
  if (input[i] === input[i].toLowerCase()) {
    return true;
  }
  }
  }
  
  function isLongEnough(input) {
  if (input.length &gt;= 8) {
  return true;
  }
  }
  
  function hasSpecialCharacter(input) {
  for (var i = 0; i &lt; input.length; i++) {
  for (var j = 0; j &lt; specialCharacters.length; j++) {
    if (input[i] === specialCharacters[j]) {
      return true;
    }
  }
  }
  }
  
  isPasswordValid("");
  </code></pre>