Enlever les accents en javascript

 

Voilà, je vous propose un petit script javascript qui va vous permettre d'enlever les accents d'une chaîne de caractères pour les remplacer par leurs homologues sans accent (un é deviendra e).

// Remplace toutes les occurences d'une chaine
function replaceAll(str, search, repl) {
while (str.indexOf(search) != -1)
str = str.replace(search, repl);
return str;
}

// Remplace les caractères accentués
function AccentToNoAccent(str) {
var norm = new Array('À','Á','Â','Ã','Ä','Å','Æ','Ç','È','É','Ê','Ë','Ì','Í','Î','Ï', 'Ð','Ñ','Ò','Ó','Ô','Õ','Ö','Ø','Ù','Ú','Û','Ü','Ý','Þ','ß', 'à','á','â','ã','ä','å','æ','ç','è','é','ê','ë','ì','í','î','ï','ð','ñ', 'ò','ó','ô','õ','ö','ø','ù','ú','û','ü','ý','ý','þ','ÿ');
var spec = new Array('A','A','A','A','A','A','A','C','E','E','E','E','I','I','I','I', 'D','N','O','O','O','0','O','O','U','U','U','U','Y','b','s', 'a','a','a','a','a','a','a','c','e','e','e','e','i','i','i','i','d','n', 'o','o','o','o','o','o','u','u','u','u','y','y','b','y');
for (var i = 0; i < spec.length; i++)
str = replaceAll(str, norm[i], spec[i]);
return str;
}

Ansi pour enlever les caractères accentués de élödie par exemple, il suffira de faire :

sans_accent =  AccentToNoAccent("élödie"); alert(sans_accent);//affiche "elodie"

 

Posté par : Liath le 24 avril 2008 à 10:37

Merci, cette fonction va me servir pour un formulaire qui créé automatiquement une adresse email en fonction du nom et du prénom renseigné. Ex: Prénom : éléonore Nom: bélènôrïà Email : eleonore.belenoria@mondomaine.fr :)

Déposer un nouveau commentaire