Remplacer caractères

Résolu/Fermé
Sinistrus Messages postés 1010 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 6 juin 2023 - 12 juin 2017 à 11:09
Sinistrus Messages postés 1010 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 6 juin 2023 - 12 juin 2017 à 13:37
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;
}
A voir également:

3 réponses

Felice_ Messages postés 265 Date d'inscription mardi 25 avril 2017 Statut Membre Dernière intervention 20 juillet 2017 11
12 juin 2017 à 11:24
Bonjour,

C'est surtout une expression régulière :
alert("L'éléphant perd son poil".replace(/ |É|À|È|Ê|'/g, '-'));
2
Yuh12 Messages postés 184 Date d'inscription mercredi 7 mai 2014 Statut Membre Dernière intervention 28 septembre 2017 24
12 juin 2017 à 11:23
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 :)
0
Sinistrus Messages postés 1010 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 6 juin 2023 17
12 juin 2017 à 11:42
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 !
0
Felice_ Messages postés 265 Date d'inscription mardi 25 avril 2017 Statut Membre Dernière intervention 20 juillet 2017 11
12 juin 2017 à 13:06
var valeur = document.getElementById("La_Marque").value.replace(/ |É|À|È|Ê|'/g, '-');

document.getElementById("Fr_Marque").value = valeur;
0
Sinistrus Messages postés 1010 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 6 juin 2023 17 > Felice_ Messages postés 265 Date d'inscription mardi 25 avril 2017 Statut Membre Dernière intervention 20 juillet 2017
12 juin 2017 à 13:37
Merci beaucoup Felice !
J'étais carrément à côté de la plaque lors de mes test...
0