ProperCase & accents

cs_JuS Messages postés 121 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 20 mars 2009 - 16 mars 2009 à 18:25
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 - 20 mars 2009 à 13:56

11 réponses

cs_JuS Messages postés 121 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 20 mars 2009 1
16 mars 2009 à 18:29
Bonjour,

J'ai récupéré sur le net la fonction suivante permettant de mettre en majuscule la première lettre d'une chaîne de caractères, et toutes les autres en minuscules.


String.prototype.toProperCase = function(){
     return this.toLowerCase().replace(/\w+/g,function(s){
          return s.charAt(0).toUpperCase() + s.substr(1);
     })
}





Ca fonctionne, le seul problème c'est que lorsque je lui passe une chaîne avec un caractère accentué, la fonction prend ça pour un nouveau mot. Exemple : "tigrée" devient "TigréE" au lieu de "Tigrée".
Je sais que c'est le


/\w+/g qui ne prend en compte que les caractères [A-Za-z0-9]. Que faut-il mettre pour qu'il prenne en plus les caractères accentués ?

Merci d'avance pour votre aide.




-=[JuS]=-



Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
17 mars 2009 à 12:52
Bonjour,
et pourquoi du javascript ? une expression régulière ? .... et autres billevesées ?
pourquoi pas en css : style="text-transform:capitalize" par exemple ?
Cordialement [mon Site] [M'écrire] Bul
0
cs_JuS Messages postés 121 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 20 mars 2009 1
17 mars 2009 à 14:11
Bonjour,

Parce que c'est un contrôle que je fais avant d'envoyer le formulaire à la page d'action.
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
17 mars 2009 à 14:18
d'abord : ce n'est pas un contrôle que tu fais,
mais un simple passage en majuscules.
ce que je te propose fait la même chose,
sans javascript.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_JuS Messages postés 121 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 20 mars 2009 1
17 mars 2009 à 14:39
Non, je fais un contrôle de la zone saisie, et si elle est correcte, je la mets en majuscule sur la première lettre et en minuscule sur les autres, puis je passe aux autres zones.
Et je veux le faire en javascript !
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
17 mars 2009 à 14:48
c'est comme tu le sens.
et quand on veut, ben on peut
@+
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
17 mars 2009 à 14:57
p.s. : t'es sûr, qu'en français, les accents existent sur les majuscules ?
0
cs_JuS Messages postés 121 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 20 mars 2009 1
17 mars 2009 à 15:08
Non non pas d'accent sur les majuscules en français, mais dans les autres langues si ;)
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
20 mars 2009 à 13:36
Bonjour,
pourquoi ne pas faire directement

szTmp =
szTmp.charAt(0).toUpperCase() +szTmp.substr(1).toLowerCase();
;O)
0
cs_JuS Messages postés 121 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 20 mars 2009 1
20 mars 2009 à 13:44
Tout simplement parce que je veux que cela soit fait sur chaque mot.
Par exemple : "Toto Titi" et non pas "Toto titi".
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
20 mars 2009 à 13:56
et ou est le problème ?
tu fais un split de ta
phrase et tu traites chaque mot non???
;O)
0
Rejoignez-nous