Bonjour,

J'ai cherché à écrire une fonction qui me permette de supprimer des caractères indésirables au sein d'un champ d'un formulaire (en passant cet objet à ma fonction).

Je n'ai pas réussi à mettre en œuvre .replace et je me suis rabattu vers cette solution.

Code : 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
 
function verifAlphaNumAccent(Element)
{
	var exp=new RegExp("^[a-zàáâãäåçèéêëìíîïðòóôõöùúûüýÿ 0-9\-]+$","i");
 
	var Chaine=Element.value ;
	if (!exp.test(Chaine) && Chaine!="")
	{
	   //alert(" E R R E U R !\n\n["+Chaine+"] n'est pas valide !!!!");	
	   for (var i=0; i<Chaine.length ; i++)
	   {
		if (!exp.test(Chaine.charAt(i)+""))
		{
	 	   Chaine=Chaine.substring(0,i)+Chaine.substring(i+1);
		   i--;
		}
	   }
	   Element.value=Chaine ;
	}	
}
La bonne nouvelle est que ce code fonctionne comme je l'attend.
Mais je le trouve lourd et me demande si vous ne pourriez pas me proposer une autre solution.

Merci d'avance

Pierre