0
votes

Comptez les caractères de zone de texte avec espace et sans espace blanc à l'aide de JavaScript simple

Pour compter les caractères saisis dans Texarea, j'ai un code qui peut compter avec l'espace entre les mots. Mais je veux que les deux fonctionnalités aiment compter avec des mots avec de l'espace et sans espace en javascript simple.

Puisque je ne suis pas un expert en programmation, je ne pouvais pas essayer d'autres méthodes ou cadres. Je préfère le code JavaScript natif. p>

code JavaScript actuel pour compter les caractères avec espace: b> p> xxx pré>

HTML B> P>

    <form name="post" method="POST"> 

<textarea name="new" charset="utf-8" onKeyDown="toggleKBMode(event)" value="copyThisContent" id="newInputID" onKeyPress="javascript:convertThis(event)" style="height:255px; Width:100%; margin-top: -17px; line-height: 15px;" placeholder="Write something.."" onkeyup="countChars(this);"></textarea>

<p id="charNum">0 characters</p>

 </form>



1 commentaires

4 Réponses :


0
votes

Utilisez REGEX

 function countChars(obj){
    var valLength=obj.value.replace(/\s/g,'').length;
    document.getElementById("charNum").innerHTML = valLength+' 
    characters';}


1 commentaires

Salut @ yas17 merci pour vos réponses. Y a-t-il de toute façon que je puisse voir le code JS pour générer à la fois avec de l'espace entre les mots et sans espace. Shalt Exemple: Caractères totaux: 300 (avec espace) 283 (sans espace)



0
votes

Avez-vous dit bon avant de poser votre question?

Regardez cela, cela peut être capable de vous aider: montrer combien de caractères restants dans un HTML Boîte de texte à l'aide de JavaScript p>

mais si vous souhaitez faire plus de lecture simple ci-dessous: P>

HTML: P>

$("#field").keyup(function(){
  el = $(this);
  if(el.val().length >= 11){
    el.val( el.val().substr(0, 11) );
  } else {
    $("#charNum").text(el.val().length + '/ 10' );
 }


2 commentaires

Salut @ greg-A merci pour vos réponses. Cependant, le code que vous avez fourni est de compter les caractères restants. Comme je ne suis pas expert en codage, il est très difficile pour moi de modifier cela pour compter les caractères totaux.


S'il y a des doublons à trouver, veuillez voter pour fermer et indiquer le duplicata. Ne reproduisez pas les réponses existantes dans votre propre.



0
votes

Cochez cette case ci-dessous Snippet:

p>

<html>

<body>
  <textarea name="new" charset="utf-8" id="newInputID" style="height:100px; Width:100%; line-height: 15px;" placeholder="Write something.." onkeyup="countChars()"></textarea>

  <p id="wordCount">0 Words</p>
  <p id="charNumWithSpace">0 characters</p>
  <p id="charNumWithOutSpace">0 characters</p>
</body>

</html>


6 commentaires

Merci pour la réponse rapide: user2932057. J'ai vérifié le code. En fait, les résultats "sans espace" montrent un mauvais nombre. Exemple pour le mot: exemple de bloc de caractères Il est écrit avec espace: 18 caractères est correct. Mais sans espace: 17 caractères est faux. En fait, il y a 16 caractères sans espace. Je n'ai pas ajouté de l'espace blanc à la fin.


J'ai modifié le code - maintenant son fonctionnement fin @Albertalbs


Impressionnant. Y a-t-il de toute façon que nous pouvons compter les mots aussi. Comme exemple: easywordcount.com


@Albertalbbs j'ai ajouté des mots comptent également dans la réponse. Si vous souhaitez mettre en œuvre pour d'autres comptes comme des phrases - vous devez le coder séparément - à l'aide de RegEx. Explorez Regex pour plus d'informations


génial. Merci beaucoup @ user2932057. C'est ce que je m'attendais. Et ça marche bien. C'est la meilleure réponse pour cette question. une mise à jour: en exécutant ce code ici sur le flux deéré, et lorsque nous vidons le champ Texarea, je reçois une erreur de folloing {"Message": "TypeError non capturé: impossible de lire la propriété" Longueur " de null "," nom de fichier ":" https://stacksnippets.net/js "," lineno ": 29," colno ": 37} J'espère que cela est lié au système interne.


@Albertalbs - Comme vous l'avez dit, lorsque nous vidons le champ Textarea => La valeur est null ou vide .. Effectuez simplement une vérification null / vide avant de trouver des valeurs dans les caractères comptabilisations méthaïds - il résoudra le problème.



0
votes
function countChars(obj){
    const words = obj.value.split(' ');
    words.length // word count
    console.log('word count is ', words.length)

    const noSpaceString = obj.value.split(' ').join('');
    noSpaceString.length // string length with no space
    console.log('all characters without whits space ', noSpaceString.length)
}

0 commentaires