Ce script permet de traiter une chaîne de caractères pour la passer tout en majuscule, sans accentuation et les mots séparés par un espace unique.

Ce script supprime tous les caractères spéciaux autres que les accents et le cédille.

Le - entre 2 mots est remplacé par un espace.

Il est très aisé de gérer plus de caratères, il suffit de mettre le caratère a traiter dans la var min et de mettre la traduction voulue dans la var maj au avec le même index. C'est un peu bidouille mais ça marche bien

Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
 
function majSansAccent(id)
      {
        var min = "aàâäbcçdeéèêëfghiîïjklmnoôöpqrstuùûvwxyz- ";        
        var maj = "AAAABCCDEEEEEFGHIIIJKLMNOOOPQRSTUUUVWXYZ  ";
        var entree = document.getElementById(id).value;
        var sortie = "";
        var tableau = new Array;
        var format = "";
        var reg=new RegExp("[ ]+", "g");
        var car="";
        entree = entree.toLowerCase();
 
        for (var i = 0 ; i < entree.length ; i++)
        {
          car = entree.substr(i, 1);
          if(min.indexOf(car)!= -1){
           sortie += maj.substr(min.indexOf(car), 1);
          }
        }    
        tableau=sortie.split(reg);
 
        for (var j=0; j<=tableau.length-1; j++) {
            if(tableau[j]!=" " && tableau[j].length>0){
              format += tableau[j]+" ";
            }
        }
        if(format.charAt(0)!=" "){
          document.getElementById(id).value=format.substring(0,format.length-1);
        } else {
          document.getElementById(id).value=format.substring(1,format.length-2);
        }
 
      }

Voilà