FONCTION UCWORDS

kankrelune Messages postés 1293 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 21 mai 2015 - 25 juin 2007 à 13:36
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 - 30 mars 2008 à 12:26
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/43239-fonction-ucwords

nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 36
30 mars 2008 à 12:26
Salut, bon code mais il me semble qu'il existe une propriété CSS permettant de faire ça maintenant !!!

8/10
cs_kakoo Messages postés 27 Date d'inscription jeudi 26 juin 2003 Statut Membre Dernière intervention 7 février 2009
15 sept. 2007 à 11:43
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
cs_jumano Messages postés 64 Date d'inscription dimanche 1 mai 2005 Statut Membre Dernière intervention 29 février 2008
15 sept. 2007 à 08:57
Bonjour,
J'aimerais savoir si "chaine" correspond au nom du champs texte dans un formulaire, par exemple .
Merci
Utilisateur anonyme
28 juin 2007 à 22:48
Ok, merci, j'ai tout bien compris maintenant.
Par contre, j'avais jamais vu le "/\w*/g" auparavant !
Auf Viedersehen!
Adelami
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
28 juin 2007 à 08:40
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.
@+
Utilisateur anonyme
27 juin 2007 à 20:09
Bonjour,
Quelqu'un pourrais m'expliquer cette partie du code de Bultez, s'il vous plait :

tmp=tmp.replace(/\w*/g, function($0)
{ return $0.toUpperCase().charAt(0)+$0.substring(1) } );

?
Merci par avance!
Adelami
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
26 juin 2007 à 13:44
j'ai omis de dire que pour mettre le reste
du mot en minuscules : ajouter toLowerCase.
@+
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
26 juin 2007 à 11:44
salut à vous.

2 alternatives ? il doit y en avoir d'autres...




<script type="text/javascript">

// pour le test
var tmp="exemple TOTO, et La jean-claude ?";

//la 1ère :
document.getElementById("txt").value=tmp;

//la 2ème :
tmp=tmp.replace(/\w*/g, function($0)
{ return $0.toUpperCase().charAt(0)+$0.substring(1) } );
alert(tmp);

</script>
cs_kakoo Messages postés 27 Date d'inscription jeudi 26 juin 2003 Statut Membre Dernière intervention 7 février 2009
25 juin 2007 à 14:11
Bonjour,

Merci pour tes remarques.

Concernant ta question sur le "toLowerCase", le but de la fonction est bien de mettre tout le texte en minuscules, sauf les premières lettres de chaque mot, donc... ;)

Ceci étant, si tu veux conserver le texte dans sa forme originale, sauf les premières de chaque mot en majuscules, on peut évidemment mettre cette ligne en commentaire.

Merci
kankrelune Messages postés 1293 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 21 mai 2015
25 juin 2007 à 13:36
Salut... deux remarques après avoir juste survolé le code...

je serais toi je le mettrait comme prototype de l'objet string vu que cette fonction ne concerne que les chaines... et comme ça tu économise un paramètre... .. .

Pourquoi valeur = chaine.toLowerCase(); tu ne devrais toucher qu'à la casse des première lettres de chaque mots les autres lettres ne concernant pas cette fonction... .. .

@ tchaOo°