Bonjour j'ai toujours mon formulaire avec un champ de type text pour insérer les numéros de téléphone et je souhaite formater les numéros de façon à ce que par l'évènement onblur de javascript, si le visiteur a insérer le numéro au format 657637789 ou 65.76.37.78.9 dans le champ, il vera apparaître 65-76-37-78-9 par exemple. Pour ce faire j'ai deux fonction qui ne marchent pas. la première est appelée par la deuxième. Je ne sais pas ce qui cloche alors je sollicite votre aide. merci. voici mon code.
/*Cette fonction recherche dans une chaîne expr toutes les occurrences d'une sous-chaîne a et les remplace par une sous-chaîne b.*/
function Remplace(expr,a,b)
{
var i=0
while (i!=-1)
{
i=expr.indexOf(a,i);
if (i>=0)
{
expr=expr.substring(0,i)+b+expr.substring(i+a.length);
i+=b.length;
}
}
return expr
}
/*fonction qui formate le numero de téléphone*/
function formaterNumero(objet1, objet2)
{
if( objet1 != "00-00-00-00" || objet1 != "" && objet1.length == 8)
{
var un = objet1.charAt(0);
var deux = objet1.charAt(1);
var trois = objet1.charAt(2);
var quatre = objet1.charAt(3);
var cinq = objet1.charAt(4);
var six = objet1.charAt(5);
var sept = objet1.charAt(6);
var huit = objet1.charAt(7);
if(/*les chiffres ne sont pas séparés*/
isNaN(un) false && isNaN(deux) false && isNaN(trois) == false && isNaN(quatre) == false && isNaN(cinq) == false && isNaN(six) == false && isNaN(sept) == false && isNaN(huit) == false)
{
var tiret = "-";
var resultat;
resultat = un+deux+tiret+trois+quatre+tiret+cinq+six+tiret+sept+huit;
objet2.setAttribute("value", "resultat");
}
else if( /*si chaque deux chiffres sont séparé par un point*/
objet1.length 11 && objet1.charAt(2) "." && objet1.charAt(5) == "." && objet1.chartAt(8) == ".")
{
var resultat;
resultat = Remplace(object1,.,-);
objet2.setAttribute("value", "resultat");
}
}
}
Voici le formulaire
<form action="suivant.php" method="post">
<label> Téléphone</label>
</form>
Merci à vous.