Majuscule 1ere lettre Javascript
Résolu
Mike
-
julienlecaro -
julienlecaro -
Bonjour,
Je cherche une petite fonction qui me permettrait de détecter un espace et de mettre en majuscule la 1ere lettre de cahque mot.
Ex : BIENVENUE SUr le site.
Je voudrais avoir: Bienvenue Sur Le Site
Jai réussi à faire cela avec split() et substring() uppercase...
mais certain string ne contiennent que 2 mots, d'autre peuvent en avoir 5 etc...
Comment faire pour mettre chaque caractère dans un tableau puis mettre en majuscule la 1ere lettre ?
Merci de votre aide
Je cherche une petite fonction qui me permettrait de détecter un espace et de mettre en majuscule la 1ere lettre de cahque mot.
Ex : BIENVENUE SUr le site.
Je voudrais avoir: Bienvenue Sur Le Site
Jai réussi à faire cela avec split() et substring() uppercase...
mais certain string ne contiennent que 2 mots, d'autre peuvent en avoir 5 etc...
Comment faire pour mettre chaque caractère dans un tableau puis mettre en majuscule la 1ere lettre ?
Merci de votre aide
A voir également:
- Javascript majuscule première lettre
- Clavier iphone chiffre et lettre - Guide
- É majuscule - Guide
- Majuscule - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Code ascii de a majuscule - Guide
4 réponses
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()});
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 !
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"
merci beaucoup Mihawk ;)
Mets donc un +1 à la réponse histoire qu'elle s'affiche en évidence.