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 ...

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>');
    }
}
}
la fonction writedivemail :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
function writedivemail(text)
     {
     document.getElementById('emailbox').innerHTML = text;
     }
et le formulaire :

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 !