Format texte

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,

Est-il possible en javascript de formater un texte ?
J'ai une clé de 25 caractère que je souhaiterai séparer par des tirets "-" entre chaque 5 caractères.
Est-ce gérable en javascript svp ?

Ex:
J9JQK9BQT997JYXJC8MGCMHQG deviendra J9JQK-9BQT9-97JYX-JC8MG-CMHQG

4 réponses

  1. Camuke Messages postés 227 Statut Membre 88
     
    Je t'ai fait sa, sa format le texte de la cellule lorsqu'elle perd le focus (l'utilisateur clic ailleur)
    <html>   
    <head>   
     <title>test</title>   
     <meta http-equiv="Content-type" content="text/html; charset=utf-8" />   
     <script type="text/javascript">  
     function formatTexte(chaine) {  
      var p1 = chaine.substring(0,5);    
      var p2 = chaine.substring(5,10);    
      var p3 = chaine.substring(10,15);    
      var p4 = chaine.substring(15,20);    
      var p5 = chaine.substring(20,25);    
      document.getElementById('Valid').value = p1 + '-' + p2 + '-' + p3 + '-' + p4 + '-' + p5;  
      }  
     </script>   
    </head>  
    <body>  
     <input name="Valid" type="text" id="Valid" maxlength="29" onChange="javascript:formatTexte(this.value.toUpperCase());" value=""/>  
    </body>  
    </html> 


    Si c'est pas se que tu veux, explique bien se que tu veux au final
    1
  2. Camuke Messages postés 227 Statut Membre 88
     
    Bien sur que c'est possible:
       
    var chaine = "J9JQK9BQT997JYXJC8MGCMHQG";  
     var p1 = chaine.substring(0,5);  
     var p2 = chaine.substring(5,10);  
     var p3 = chaine.substring(10,15);  
     var p4 = chaine.substring(15,20);  
     var p5 = chaine.substring(20,25);  
     chaine = p1 + '-' + p2 + '-' + p3 + '-' + p4 + '-' + p5;  
    


    Tu peux également faire sa avec une boucle:
    	var chaine = "J9JQK9BQT997JYXJC8MGCMHQG";
    	var chaineFinal = "";
    	for(var i = 0; i < 21; i++) {
    		chaineFinal = chaineFinal + chaine.substring(i, i+5);
    		if(chaine.substring(i+5, i+10) != "") {
    			chaineFinal = chaineFinal + '-'; 
    		}
    		i = i+4;
    	}
    
    0
  3. Sinistrus Messages postés 1010 Date d'inscription   Statut Membre Dernière intervention   17
     
    Merci pour ta réponse Camuke,

    Donc je fais :
    <script>var chaine = "J9JQK9BQT997JYXJC8MGCMHQG";  
     var p1 = chaine.substring(0,5);  
     var p2 = chaine.substring(5,10);  
     var p3 = chaine.substring(10,15);  
     var p4 = chaine.substring(15,20);  
     var p5 = chaine.substring(20,25);  
     chaine = p1 + '-' + p2 + '-' + p3 + '-' + p4 + '-' + p5;</script>

    dans mon body et comment je l'appel dans la zone de texte :
    <input name="Valid" type="text" id="Valid" maxlength="29" onKeyUp="javascript:this.value=this.value.toUpperCase();" />


    Tu peux m'aider d'avantage stp ?
    J'ai 4000 clé à insérer dans ce format, var chaine = "" contiendra quoi ? :s
    0
  4. Sinistrus Messages postés 1010 Date d'inscription   Statut Membre Dernière intervention   17
     
    C'est exactement ce que je veux ^^
    Merci infiniment !
    0