A la maniere de l'AJAX que j'ai mi a cette page de mon site, j'avais envie de faire de même pour l'adresse email qui en frappant vérifie petit a petit. Probleme le script ne marche pas. Je me suis inspiré d'un code deja existant mais ...
la fonction writedivemail :
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
21
22
23
24
25
26
27
28
29
30
31
32 function verifemail(email) { var email = email; var aroba = email.indexOf("@"); if(email != '') { //test si @ est présent //si il n'est pas présent, l'adresse n'est pas valide if (aroba == -1) { writedivemail('<span style="color:#cc0000"><b>'+email+' :</b> n\'est pas valide</span>'); } //vérifie si il y a un . après @ et qu'il ne se trouve pas juste derrière ("adresse@.com" non valide) var point = email.indexOf(".", aroba); if ((point == -1) || (point == (aroba + 1))) { writedivemail('<span style="color:#cc0000"><b>'+email+' :</b> n\'est pas valide</span>'); } //vérifie si il y a au moins 1 caractère après le point //point + 1 car indexOf commence à 0. //Si l'index est 4 et la longueur de la chaîne 5, erreur var point = email.lastIndexOf("."); if ((point + 1) == email.length) { writedivemail('<span style="color:#cc0000"><b>'+email+' :</b> n\'est pas valide</span>'); } //vérifie s'il n'y a pas deux . qui se suivent point = email.indexOf("..") if (point != -1) { writedivemail('<span style="color:#cc0000"><b>'+email+' :</b> n\'est pas valide</span>'); } else { writedivemail('<span style="color:#1A7917"><b>'+email+' :</b> est valide</span>'); } } }
et le formulaire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 function writedivemail(text) { document.getElementById('emailbox').innerHTML = text; }
Code : Sélectionner tout - Visualiser dans une fenêtre à part <input type="text" name="email" onKeyUp="verifemail(this.value)">* <span id="emailbox"></span><br /><br /><br />
Le problème est que d'après ce code l'adresse est toujours valide !
Partager