Majuscule 1ere lettre Javascript
Résolu/Fermé
A voir également:
- Javascript majuscule première lettre
- É majuscule - Guide
- Telecharger javascript - Télécharger - Langages
- Mettre un texte en majuscule - Guide
- Adobe premiere pro - Télécharger - Montage & Édition
- Application pour écrire les chiffre en lettre - Télécharger - Outils professionnels
4 réponses
Mihawk
Messages postés
4313
Date d'inscription
mercredi 29 mars 2006
Statut
Contributeur
Dernière intervention
6 janvier 2015
845
30 août 2012 à 11:24
30 août 2012 à 11:24
Allez voilà une solution qui fonctionne, encapsulée dans une méthode.
La méthode prend 2 paramètres :
1/ un booléen qui vaut true si tu veux que la première lettre du texte soit également mise en majuscule ; false sinon.
2/ le texte à convertir
La méthode prend 2 paramètres :
1/ un booléen qui vaut true si tu veux que la première lettre du texte soit également mise en majuscule ; false sinon.
2/ le texte à convertir
<script type="text/javascript"> function setMajToAllWords(toFirstWord, texte){ var newText = (toFirstWord == true) ? texte.charAt(0).toUpperCase() : texte.charAt(0); for (var i=0 ; i<texte.length-1 ; i++){ if (texte.charAt(i).match(/\s/) && texte.charAt(i+1).match(/[a-z]/)){ newText += texte.charAt(i+1).toUpperCase(); } else { newText += texte.charAt(i+1); } } return newText; } // Exemples alert (setMajToAllWords(false, "bonjour a tous")); // Affiche "bonjour A Tous" alert (setMajToAllWords(true, "bonjour a tous")); // Affiche "Bonjour A Tous" </script>
Salut,
Pour ceux qui cherchent la solution :
Pour ceux qui cherchent la solution :
texte = texte.replace(/\s([a-z])/g, function($1) {return $1.toUpperCase()});
Mihawk
Messages postés
4313
Date d'inscription
mercredi 29 mars 2006
Statut
Contributeur
Dernière intervention
6 janvier 2015
845
30 août 2012 à 10:57
30 août 2012 à 10:57
Hello,
On va faire plus simple avec les expression régulières...
Je ne l'ai pas vérifié, à tester donc !
On va faire plus simple avec les expression régulières...
var texte = "bonjour a tous" texte = texte.replace(/\s([a-z])/, $1.toUpperCase());
Je ne l'ai pas vérifié, à tester donc !
Mihawk
Messages postés
4313
Date d'inscription
mercredi 29 mars 2006
Statut
Contributeur
Dernière intervention
6 janvier 2015
845
30 août 2012 à 11:01
30 août 2012 à 11:01
J'ai testé, ça ne tourne pas.
Je cherche une solution.
Je cherche une solution.
Mihawk
Messages postés
4313
Date d'inscription
mercredi 29 mars 2006
Statut
Contributeur
Dernière intervention
6 janvier 2015
845
Modifié par Mihawk le 30/08/2012 à 11:10
Modifié par Mihawk le 30/08/2012 à 11:10
Bon bah zut j'y arrive pas... J'ai essayé ça :
Je pensais vraiment que ça marcherait mais 'faut croire que le toUpperCase() dans un replace il n'aime pas :-/
[EDIT] : en fait il aime bien, mais pas avec le $1 c'est assez étrange !
Mihawk
"The Weapon of Choice"
<script type="text/javascript"> var texte = "bonjour a tous"; texte = texte.replace(/\s([a-z])/g, " $1".toUpperCase()); alert(texte); </script>
Je pensais vraiment que ça marcherait mais 'faut croire que le toUpperCase() dans un replace il n'aime pas :-/
[EDIT] : en fait il aime bien, mais pas avec le $1 c'est assez étrange !
Mihawk
"The Weapon of Choice"
30 août 2012 à 11:43
merci beaucoup Mihawk ;)
30 août 2012 à 11:44
Mets donc un +1 à la réponse histoire qu'elle s'affiche en évidence.