Skip welcome & menu and move to editor
Welcome to JS Bin
Load cached copy from
 
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>JS Bin</title>
</head>
<body>
  <div id="container">
   <textarea  maxlength="100"></textarea>
   <p id="idToto"></p>
  </div>
</body>
</html>
 
function constant() {
  return {
    COUNTER_PLURAL_MESSAGE: " caracteres digitados - máximo ",
    COUNTER_SINGLE_MESSAGE: " caracter digitado - máximo ",
    LIMIT_MESSAGE: "Limite de caracteres atingido!"
  };
}
function characterCounter() {
  const max = 100;
  const container = document.getElementById('container');
  const [textArea, inputMessage] = container.children;
  const amountCharacterTyped = textArea.value.length;
  
  const selectMessage = () => amountCharacterTyped === 1
      ? constant().COUNTER_SINGLE_MESSAGE
      : constant().COUNTER_PLURAL_MESSAGE;
  if (amountCharacterTyped === 0){
    inputMessage.innerHTML = '';
  } else if (amountCharacterTyped > 0 && amountCharacterTyped < max) {
    inputMessage.innerHTML = amountCharacterTyped + selectMessage() + max;
  } else {
    inputMessage.innerHTML = constant().LIMIT_MESSAGE;
  }
}
function clear() {
  document.querySelector('#container p').inputMessage.innerHTML = "";
}
document.querySelector('textarea').addEventListener("keyup", characterCounter);
document.querySelector('textarea').addEventListener("focusout", clear);
Output

You can jump to the latest bin by adding /latest to your URL

Dismiss x
public
Bin info
anonymouspro
0viewers