IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

mettre les premiers lettres prenom composé en majuscule


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    141
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 141
    Par défaut mettre les premiers lettres prenom composé en majuscule
    Bonjour,Mon problème est le suivant:
    J'ai un champ prenom et je veux étudier le cas ou la personne s'appelle par exemple:jean,d'autre jean-marc et d'autre jean-marc-andré
    si le prenom est jean->on aura Jean
    si le prenom est jean-marc->on aura Jean-Marc
    si le prenom est jean-marc-andre->on aura Jean-Marc-Andre

    Voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    function majusculePrenom(idPrenom){
    	var obj=document.getElementById(idPrenom);
    	var chaine=obj.value;
    	var reg=new RegExp("[-]+", "g");
    	var Sous_Chaine=chaine.split(reg);
    	compteur=1;
    	var nom="";
    	for(i=0;i<Sous_Chaine.length;i++){
    		document.write("Sous_Chaine.[" + i + "] = " + Sous_Chaine.[i] + "<BR>");
    		var lettre_un=Sous_Chaine.[i][0].toUpperCase();
    		var reste_mot=Sous_Chaine[i].substring(1).toLowerCase();
    		var prenom =lettre_un+reste_mot;
    		alert(prenom);
          return prenom;
    	}
    }

    Je ne sais pas comment fairte pour concater le premier souschaine avec le deuxième et le troisième ainsi de suite.
    car là j'ai que Jean puis Marc puis André tout s'ecrase.
    Aidez moi svp!!!

  2. #2
    Membre Expert Avatar de Willpower
    Homme Profil pro
    sans emploi
    Inscrit en
    Décembre 2010
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : sans emploi

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 009
    Par défaut
    solution en 1 ligne :

    Code js : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function majusculePrenom(idPrenom){
      return idPrenom.replace(/^[a-z]|-[a-z]/g,function(a){return a.toUpperCase();});
    }
     
     
    alert(majusculePrenom("jean-pierre"))


    edit: et encore, je suis nul en regExp, je suis certains que mes collègues ici trouveront plus court.

  3. #3
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    function MajNom(nom){
    var tabnom=nom.split('-')
    var i=-1;
    var Maj="";
    while(tabnom[++i]){
     tabnom[i]=FirstUp(tabnom[i])
     }
    tabnom=tabnom.join('-')
    return tabnom
    }
     
    function FirstUp(nom){ 
    return nom.replace(/(\w)(\w+)/,function(T,M,C){return M.toUpperCase()+C})
    }
     
    alert(MajNom("jean-pierre"))
     
    alert(MajNom("jean"))
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    :red:
    Et moi je suis parti tête baissée sur un split ...

    il y a en effet plus simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function MajNom(nom){ 
    return nom.replace(/(\b\w)/g,function(T,L){return L.toUpperCase()})
    }
     
    alert(MajNom("jean-pierre"))
     
    alert(MajNom("jean"))
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Membre Expert Avatar de Willpower
    Homme Profil pro
    sans emploi
    Inscrit en
    Décembre 2010
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : sans emploi

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 009
    Par défaut
    même pas besoin des parenthèses. (ni du second paramètre "T,L")
    Code js : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function majusculePrenom(n){
      return n.replace(/\b\w/g,function(T){return T.toUpperCase()});
    }
    alert(majusculePrenom("marc-antoine-andré-dfsgdf-sdfgsdf-sdfgdfg-o"));

    cool, je commence enfin à apprendre/comprendre les RegExp après plus de 10 ans de programmation.

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    Tout a fait, mais en fait si tu veux limiter le remplacement lors de la présence d'un tiret -tu es obligé de passer plusieurs paramètres
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Mettre en majuscule les premieres lettres d'un prenom compose
    Par shaun_the_sheep dans le forum C#
    Réponses: 8
    Dernier message: 07/05/2014, 09h15
  2. Mettre en majuscule les premieres lettres d'un prenom compose
    Par rimbaut dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 14/04/2010, 13h55
  3. recherche sur les premières lettres
    Par mogur dans le forum Requêtes
    Réponses: 2
    Dernier message: 23/10/2006, 09h06
  4. Rendre la premiere lettre d'un String majuscule
    Par Battosaiii dans le forum Langage
    Réponses: 5
    Dernier message: 01/09/2006, 16h15
  5. Mettre la première lettre des mots en majuscule
    Par seb.49 dans le forum Langage
    Réponses: 8
    Dernier message: 23/05/2003, 14h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo