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 :

Remplacer les caract�res sp�ciaux dans un pr�nom(Regex)


Sujet :

JavaScript

  1. #1
    Membre confirm�
    Inscrit en
    Avril 2008
    Messages
    141
    D�tails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 141
    Par d�faut Remplacer les caract�res sp�ciaux dans un pr�nom(Regex)
    Bonjour Je voudrais remplacer des caract�res sp�ciaux quand une personne renseigne son pr�nom.
    J'arrive � mettre une majuscule s'il ya - ou_ ou. mais pas quand il ya une espace dans le pr�nom.
    Je souhaiterais changer les caract�res sp�ciaux mais je n'y arrive pas.
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
      function f_js_nomPrenomProspect(idPrenom){
    	var obj=document.getElementById(idPrenom);
    	var chaine=obj.value;
    	var reg=new RegExp("[-._]+", "g");
    	var Sous_Chaine=chaine.split(reg);
    	var prenom="";
    	for(i=0;i<Sous_Chaine.length;i++){
    		var lettre_un=Sous_Chaine[i][0].toUpperCase();
    		var reste_mot=Sous_Chaine[i].substring(1).toLowerCase();
    			if(prenom !=""){
    			prenom += ' '+lettre_un+reste_mot;
    			}else{
    			prenom += lettre_un+reste_mot;
    			}
    	}
    obj.value = prenom;
    var new_string = prenom;
    		var pattern_accent = new Array("é", "è", "ê", "ë", "ç", "à", "â", "ä", "î", "ï", "ù", "ô", "ó", "ö");
    		var pattern_replace_accent = new Array("e", "e", "e", "e", "c", "a", "a", "a", "i", "i", "u", "o", "o", "o");
    		if (my_string && my_string!= "") {
    			new_string = preg_replace (pattern_accent, pattern_replace_accent, my_string);
    		}
    		return new_string;
    }


    Aidez moi svp!

  2. #2
    Membre Expert
    Avatar de RomainVALERI
    Homme Profil pro
    POO�te
    Inscrit en
    Avril 2008
    Messages
    2 652
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 48
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activit� : POO�te

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Par d�faut
    Tous les caract�res sp�ciaux ? Il vaut mieux d�finir les caract�res autoris�s plutot que de lister tous les interdits dans ce cas ^^

    Pour les lettres accentu�es, je ne sais pas si �a t'aide mais en ce qui me concerne j'utilise quelque chose comme �a :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    String.prototype.sansAccents = function() {
       return this.replace(/[ùûü]/g,"u").replace(/[îï]/g,"i").replace(/[àâä]/g,"a").replace(/[ôö]/g,"o").replace(/[éèêë]/g,"e").replace(/ç/g,"c");
    }
    qui s'utilise assez simplement :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    var chaineApres = chaineAvant.sansAccents();
    ... mais �a ne g�re que les accents de la langue fran�aise, �a n'a rien d'exhaustif, donc comme je te disais, d�finis d'abord les caract�res que tu veux autoriser

  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
    pourquoi enchainer les replace ?
    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
    var tab1="ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ"  
    var tab2=	"aaaaaaaaaaaaooooooooooooeeeeeeeecciiiiiiiiuuuuuuuuynn"
    var chaine="étamine et pâtisson À à manger croître  ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñœ"
    rep2=tab1.split('')
    rep=tab2.split('')
    myarray=new Array()
    var i=-1
    while(rep2[++i]){
    myarray[rep2[i]]=rep[i]
    }
    myarray['Œ']='OE'
    myarray['œ']='oe'
     
    function foo(){
     return chaine.replace(/./g, function($0){return (myarray[$0])?myarray[$0]:$0 })
    }
    alert(foo(chaine))
    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
    Membre Expert
    Avatar de RomainVALERI
    Homme Profil pro
    POO�te
    Inscrit en
    Avril 2008
    Messages
    2 652
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 48
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activit� : POO�te

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Par d�faut
    +1 pour la solution plus compl�te de SF ^^

    ( sauf pour le mini oubli du param )
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    function foo(chaine){
     return chaine.replace(/./g, function($0){return (myarray[$0])?myarray[$0]:$0 })
    }

  5. #5
    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
    il est facultatif car dans ce call back les matches du reg sont pass�s par defaut
    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 !

  6. #6
    Membre Expert
    Avatar de RomainVALERI
    Homme Profil pro
    POO�te
    Inscrit en
    Avril 2008
    Messages
    2 652
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 48
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activit� : POO�te

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Par d�faut
    Citation Envoy� par SpaceFrog Voir le message
    il est facultatif car dans ce call back les matches du reg sont pass�s par defaut
    Je suis pas s�r d'avoir bien saisi...

    Mais du coup c'est le param pass� qui est inutile... non ? ^^ ( alert(foo(chaine)) )

  7. #7
    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
    Ha ... desol� au temps pour moi !!
    Nous ne parlons pas de la m�me chose ...
    ma variable chaine est declar�e en globale dans ce script de test

    Je parlais en fait de la fonction de remplacement dans le callback du remplacement.
    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 !

  8. #8
    Membre Expert
    Avatar de RomainVALERI
    Homme Profil pro
    POO�te
    Inscrit en
    Avril 2008
    Messages
    2 652
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 48
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activit� : POO�te

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Par d�faut
    Ah ben je me disais aussi

    ( @sajodia : d�sol� pour cette interruption intempestive de ton post mais �a me faisait mal )

  9. #9
    Membre confirm�
    Inscrit en
    Avril 2008
    Messages
    141
    D�tails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 141
    Par d�faut
    Merci beaucoup �a marche super bien mais par contre je ne sais pas comment ajouter l'espace dans mon regex:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    var reg=new RegExp("[-._]+", "g");
    Merci de votre aide

  10. #10
    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
    var reg=new RegExp("[ ._-]+", "g");
    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 !

  11. #11
    Membre confirm�
    Inscrit en
    Avril 2008
    Messages
    141
    D�tails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 141
    Par d�faut
    Je suis hyper contente.Merci encore!

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Remplacer les caract�res sp�ciaux dans xml
    Par panda31 dans le forum D�veloppement de jobs
    R�ponses: 14
    Dernier message: 19/10/2011, 09h53
  2. Remplacer les caract�res sp�ciaux dans un string
    Par MartinezGarcia dans le forum Oracle
    R�ponses: 8
    Dernier message: 30/09/2011, 18h24
  3. R�ponses: 3
    Dernier message: 18/02/2008, 14h05
  4. R�ponses: 5
    Dernier message: 04/12/2007, 11h00
  5. les caract�res sp�ciaux dans l'url, c'est mal !
    Par _gargamel_ dans le forum Servlets/JSP
    R�ponses: 2
    Dernier message: 10/05/2007, 16h03

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