Annee_texte_sans_espace_sans_accent

Résolu/Fermé
Sinistrus Messages postés 1017 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 6 juin 2023 - Modifié par Sinistrus le 18/08/2015 à 12:58
Sinistrus Messages postés 1017 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 6 juin 2023 - 19 août 2015 à 12:47
Bonjour,

Comme son nom l'indique, j'essaie de récupérer la valeur d'un champ texte dans un autre champ texte en ajoutant au début l'année en cours puis le texte en minuscule dont les espaces et les caractères spéciaux sont remplacés par des '_'

<script>
var ladate=new Date()

   var regAccentA = new RegExp('[àâä]', 'gi');
   var regAccentE = new RegExp('[éèêë]', 'gi');
   var regAccentZ = new RegExp('[ ]', 'gi');

   var myString = document.getElementById("Titre").value; 

   myString = myString.replace(regAccentA, 'a');
   myString = myString.replace(regAccentE, 'e');
   myString = myString.replace(regAccentZ, '_');

var MonTexte = ladate.getFullYear() + '_' + myString.toLowerCase();
//document.write(MonTexte);
</script>
            
<input name="Titre" type="text" id="Titre" style="width:100%;" value="" onkeyup="javascript:document.getElementById('Lien').value = document.write(MonTexte);" />


Ceci affiche le texte comme souhaité... seulement je n'arrive pas à dire à Titre que si je OnKeyUp, qu'il recopie le texte dans "Lien"... je rencontre une erreur.

Bonjour, cet élève laïque s'énerve
me donnera
2015_bonjour_cet_eleve_laique_s_enerve
comme résultat

Quelqu'un peut m'aider svp ?

2 réponses

DeadPool33 Messages postés 14 Date d'inscription lundi 20 octobre 2014 Statut Membre Dernière intervention 29 juin 2016 1
18 août 2015 à 18:00
Premièrement tu est dans le forum e java et non javascript

mais bon moi je ferais quelque chose comme ceci


<input type="text" id="fname" onkeyup="myFunction()">

<script>
function myFunction() {

var regAccentA = new RegExp('[àâä]', 'gi');
var regAccentE = new RegExp('[éèêë]', 'gi');
var regAccentZ = new RegExp('[ ]', 'gi');

var myString = document.getElementById("Titre").value;

myString = myString.replace(regAccentA, 'a');
myString = myString.replace(regAccentE, 'e');
myString = myString.replace(regAccentZ, '_');

var MonTexte = ladate.getFullYear() + '_' + myString.toLowerCase();
document.getElementById('Lien').value = MonTexte;
}
</script>


je ne suis pas sur de la fonction mais bon
0
Sinistrus Messages postés 1017 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 6 juin 2023 17
19 août 2015 à 12:47
Merci DeadPool33. Voici mon code :

<script>
function transformer(id){
var ladate=new Date()

var regAccentA = new RegExp('[àâäáãå]', 'gi');
var regAccentE = new RegExp('[éèêë]', 'gi');
var regAccentO = new RegExp('[ðòóôõö]', 'gi');
var regAccentI = new RegExp('[îïìí]', 'gi');
var regAccentU = new RegExp('[ùúûü]', 'gi');
var regAccentC = new RegExp('[ç]', 'gi');
var regAccentN = new RegExp('[ñ]', 'gi');
var regAccentAE = new RegExp('[æ]', 'gi');
var regAccentOE = new RegExp('[oe]', 'gi');

var regAccentW = new RegExp(' ', 'gi');
var regAccentX = new RegExp('[^a-zA-Z0-9_]', 'gi');
var regAccentY = new RegExp("'", 'gi');
var regAccentZ = new RegExp("__", 'gi');
var regAccent0 = new RegExp('"', 'gi');

//var regAccent1 = new RegExp('', 'gi');
//'
var myString = document.getElementById("Titre").value;

myString = myString.replace(regAccentA, 'a');
myString = myString.replace(regAccentE, 'e');
myString = myString.replace(regAccentO, 'o');
myString = myString.replace(regAccentI, 'i');
myString = myString.replace(regAccentU, 'u');
myString = myString.replace(regAccentC, 'c');
myString = myString.replace(regAccentN, 'n');
myString = myString.replace(regAccentAE, 'ae');
myString = myString.replace(regAccentOE, 'oe');

myString = myString.replace(regAccentW, '_');
myString = myString.replace(regAccentX, '');
myString = myString.replace(regAccentY, '_');
myString = myString.replace(regAccentZ, '_');
myString = myString.replace(regAccent0, '');

var MonTexte = ladate.getFullYear() + '_' + myString.toLowerCase();

document.getElementById('Lien').value = MonTexte;
}
</script>


<input name="Titre" type="text" id="Titre" style="width:100%;" value="" onkeyup="javascript:transformer(this);"/>

<input name="Lien" type="text" id="Lien" style="width:100%; font-family:'Courier New', Courier, monospace; color:#999;" value="" readonly="readonly" />
0