Annee_texte_sans_espace_sans_accent

Résolu
Sinistrus Messages postés 1010 Date d'inscription   Statut Membre Dernière intervention   -  
Sinistrus Messages postés 1010 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Membre Dernière intervention   1
 
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 1010 Date d'inscription   Statut Membre Dernière intervention   17
 
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