Format texte

Résolu
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. 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. 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;
      	}
      
      1. 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