Calculer certains caractères 2 fois avec un code JS
ronisonmez
Messages postés
10
Date d'inscription
Statut
Membre
Dernière intervention
-
Hadus -
Hadus -
Bonjour à toutes et à tous,
J'ai un code html et dans ce code HTML je calcul le nombre de caractères. Tout fonctionne comme il faut mais j'aimerais bien que mon calculateur calcule certains signe spécieux pour 2 caractères. Par exemple : \ [ ] { } ^ | €. Est-ce que c'est faisable ? Comment je peux faire ?
J'ai un code html et dans ce code HTML je calcul le nombre de caractères. Tout fonctionne comme il faut mais j'aimerais bien que mon calculateur calcule certains signe spécieux pour 2 caractères. Par exemple : \ [ ] { } ^ | €. Est-ce que c'est faisable ? Comment je peux faire ?
<!doctype html> <html> <head> <meta charset="utf-8"> <title>TEST</title> </head> <body> <textarea id="data" cols="50" rows="5" onkeyup="nbrCara('data','nbrcara');" onkeydown="nbrCara('data','nbrcara');" onmouseout="nbrCara('data','nbrcara');"></textarea> <br> Nombre de caractères : <span id="nbrcara">0</span> </body> <script> function nbrCara(cara,nbrcara) { var nombre = document.getElementById(cara).value.length; document.getElementById(nbrcara).innerHTML = nombre;} </script> </html>
A voir également:
- Calculer certains caractères 2 fois avec un code JS
- Code ascii - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Comment calculer la moyenne sur excel - Guide
- Code puk bloqué - Guide
- Caractères spéciaux - Guide
1 réponse
Salut,
euh calculer un caractère? Plutôt compter leurs nombres je suppose?
Renseignez vous sur les méthode de l'objet STRING d'abord.
Cela devrait être suffisant pour ce que vous expliquez de façon assez spécieuse.
...astuce une chaîne peut facilement être décomposée en plusieurs puis recomposée sinon vous avez aussi les expressions irrégulières et d'autres méthodes qui sont arrivés avec ES6.
https://www.w3schools.com/jsref/jsref_obj_string.asp
Exemple concret:
Bien sûr ici ça ne marche que pour un ou 2 caractères dans la chaîne. C'est un exemple pour démarrer, à vous d'être plus malin ou plutôt plus récursif ;)
les boucles, l'algorithmique tout ça tout ça. forEach (méthode) par exemple fonctionne sur les chaînes aussi. Même si un while serait plus élégant voire plus pratique il reste pas grand chose à faire ici:
euh calculer un caractère? Plutôt compter leurs nombres je suppose?
Renseignez vous sur les méthode de l'objet STRING d'abord.
Cela devrait être suffisant pour ce que vous expliquez de façon assez spécieuse.
...astuce une chaîne peut facilement être décomposée en plusieurs puis recomposée sinon vous avez aussi les expressions irrégulières et d'autres méthodes qui sont arrivés avec ES6.
https://www.w3schools.com/jsref/jsref_obj_string.asp
Exemple concret:
var chaine='abcde#fghi#jk'; var compteDouble=0; if(chaine.indexOf('#')>-1{ if(chaine.lastIndexOf('#')===chaine.indexOf('#')){ compteDouble+=1; return; }else{ var sousChaine=chaine.substring(chaine.indexOf('#')+1, chaine.length); if(sousChaine.indexOf('#')>-1){ compteDouble+=2; } } } var longueurAvecCompteDouble=chaine.length+compteDouble; console.log('longueur avec doublement des caractères est de '+longueurAvecCompteDouble);
Bien sûr ici ça ne marche que pour un ou 2 caractères dans la chaîne. C'est un exemple pour démarrer, à vous d'être plus malin ou plutôt plus récursif ;)
les boucles, l'algorithmique tout ça tout ça. forEach (méthode) par exemple fonctionne sur les chaînes aussi. Même si un while serait plus élégant voire plus pratique il reste pas grand chose à faire ici:
var chaine='abcde#fghi#jk'; var compteur=0; chaine.forEach(function(){ console.log(chaine[compteur]); compteur+=1; }); console.log(compteur);