Remplacer caractères

Résolu
Bonjour à tous,

Je ne maitrise pas javascript mais je souhaiterais remplacer les caractères suivant par un tiret : "Espace,É,À,È,Ê,apostrophe" par "-"

Par exemple :
La_Marque = "L'éléphant perd son poil"
Fr_Marque = "L-elephant-perd-son-poil"

Pouvez-vous m'aider svp ?

function Marque() {
document.getElementById("Fr_Marque").value = document.getElementById('La_Marque').value;
}

3 réponses

  1. Bonjour,

    C'est surtout une expression régulière :
    alert("L'éléphant perd son poil".replace(/ |É|À|È|Ê|'/g, '-'));
    1. var myString="L'éléphant perd son poil";
      myString=myString.replace(/ /g,"-"); // Pour les espaces
      myString=myString.replace(/'/g, '-'); // Pour les apostrophes.
      


      Et pour les accents tu peux faire quelque chose du style :
        
       // Ecriture des motifs à remplacer
         var regAccentA = new RegExp('[àâä]', 'gi');
         var regAccentE = new RegExp('[éèêë]', 'gi');
      
      
         // Application de la fonction replace() sur myString
         myString = myString.replace(regAccentA, 'a');
         myString = myString.replace(regAccentE, 'e');
      


      J'ai trouvé cette solution ici :
      https://www.analyste-programmeur.com/javascript/les-expressions-regulieres/javascript-replace

      Le plus propre serait de faire une belle expression régulière (RegExp) qui comprendrais tous ces paramètres à la fois :)
      1. Merci de vos réponses rapides Yuh et Felice...

        Je n'arrives pas à l'intégrer à mon code.

        La_Marque est la zone de texte ou je met mon texte, et Fr_Marque est la zone de texte qui récupère le regex de La_Marque...
        En PHP c'est cool mais en javascript franchement je flanche grave !
        1. var valeur = document.getElementById("La_Marque").value.replace(/ |É|À|È|Ê|'/g, '-');
          
          document.getElementById("Fr_Marque").value = valeur;
        2. @Felice_Merci beaucoup Felice !
          J'étais carrément à côté de la plaque lors de mes test...