262 votes

JavaScript - comment capitaliser la première lettre de chaque mot, comme une ville de 2-mot ?

<blockquote> <p><strong>Doublon possible :</strong><br> <a href="http://stackoverflow.com/questions/196972/convert-string-to-title-case-with-javascript">Convertit une chaîne en cas de titre avec javascript</a> </p> <p>Mes woks JS bien quand la ville a un seul mot :</p><ul> <li>cHIcaGO == > Chicago</li> </ul><p>Mais quand il a</p><ul> <li>San diego == > San diego</li> </ul><p>Comment puis-je faire devenir San Diego ?</p><pre><code></code></pre></blockquote>

670voto

Dexter Points 7001

Il y a une bonne réponse ici :

 function toTitleCase(str)
{
    return str.replace(/\w\S*/g, function(txt){return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();});
}
 

144voto

capdragon Points 5294

Vous pouvez utiliser CSS:

 p.capitalize {text-transform:capitalize;}
 

26voto

maerics Points 47743
function convert_case(str) {
  var lower = str.toLowerCase();
  return lower.replace(/(^| )(\w)/g, function(x) {
    return x.toUpperCase();
  });
}

12voto

kjy112 Points 9481

La fonction JavaScript:

String.prototype.capitalize = function(){
       return this.replace( /(^|\s)([a-z])/g , function(m,p1,p2){ return p1+p2.toUpperCase(); } );
      };

Pour utiliser cette fonction:

capitalizedString = someString.toLowerCase().capitalize();

Aussi, ce serait de travailler sur plusieurs mots de la chaîne.

Assurez-vous que le converti du nom de la Ville est injecté dans la base de données, mises en minuscule et la première lettre en majuscule, alors vous devez utiliser le JavaScript avant de l'envoyer sur le serveur. CSS tout simplement les styles, mais les données réelles resterait pré-style. Jetez un oeil à ce jsfiddle exemple et de comparer le message d'alerte vs le style de sortie.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X