Fonction ucwords

Soyez le premier à donner votre avis sur cette source.

Snippet vu 9 404 fois - Téléchargée 21 fois

Contenu du snippet

Fonction qui permet de mettre en majuscules toutes les premières lettres de chaque mot d'un texte, et tout le reste en minuscules.

L'option tiret est également gérée, notamment pour les prénoms ou mot composés.

Merci de vos commentaires...et de votre indulgence.

Source / Exemple :


function ucWords(chaine, avectirets) {
var valeur="";
if ((chaine) && (chaine!=""))
{
	valeur = chaine.toLowerCase();

	// Analyse des mots séparés par des espaces
	var mots = valeur.split(' ');
	for(var i = 0; i < mots.length; i++)  
	{
		if(mots[i].length > 1) 
		{
			carac = mots[i].split('');
			carac[0] = carac[0].toUpperCase();
			mots[i] = carac.join('');
		} 
		else 
		{
			mots[i] = mots[i].toUpperCase();
		} 
	}
	valeur = mots.join(' ');
	
	if ((avectirets) && ((avectirets==false) || (avectirets==true)))
	{
		if (avectirets==true)
		{
			// Analyse des mots séparés par des tirets (si demandé)
			var mots = valeur.split('-');
			for(var i = 0; i < mots.length; i++) 
			{
				if(mots[i].length > 1) 
				{
					carac = mots[i].split('');
					carac[0] = carac[0].toUpperCase();
					mots[i] = carac.join('');
				} 
				else 
				{
					mots[i] = mots[i].toUpperCase();
				}
			}
			valeur = mots.join('-');
		}
	}
}
return valeur;
}

Conclusion :


S'utilise de la façon suivante :

chaine = ucWords(chaine);

A voir également

Ajouter un commentaire Commentaires
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
36
Salut, bon code mais il me semble qu'il existe une propriété CSS permettant de faire ça maintenant !!!

8/10
Messages postés
27
Date d'inscription
jeudi 26 juin 2003
Statut
Membre
Dernière intervention
7 février 2009

Bonjour,

"chaine" correspond à n'importe quelle chaîne de caractères.

Elle peut donc être le contenu d'un champ texte dans un formulaire.

Galawa
Messages postés
64
Date d'inscription
dimanche 1 mai 2005
Statut
Membre
Dernière intervention
29 février 2008

Bonjour,
J'aimerais savoir si "chaine" correspond au nom du champs texte dans un formulaire, par exemple .
Merci
Utilisateur anonyme
Ok, merci, j'ai tout bien compris maintenant.
Par contre, j'avais jamais vu le "/\w*/g" auparavant !
Auf Viedersehen!
Adelami
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
que ne comprends-tu pas adelami ?
c'est une expression régulière
on y prend tous les "mots" ( /\w*/g )
que l'on remplace par le résultat d'une fonction
$0 étant le "mot trouvé".
toUpperCase, charAt et substring je pense que c'est ok.
@+
Afficher les 10 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.