Bonjour je fait appel à vous car je n'arrive pas à tester une adresse mail dans un formulaire,
j'ai un script javascript qui vérifie que les champs ont été remplis que la syntaxe du numéro et de l'email sont valides et je bloque pour le test du domaine du mail.
J'ai trouvé un script sur le net mais en php et je ne sais pas comment l'adapter alors un petit coup de mains serait le bienvenue.
Merci par avance

voici les script: le javascript
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
<script language="JavaScript">
function check(f)
{
  // Avant l'envoi du formulaire, plusieurs variables
  // doivent être vérifiées.
  // En cas d'erreur, l'utilisateur est averti
  // par un message.
  // D'abord, nous déterminons si une zone de texte est vide.
  if(document.contact.last_name.value == '')
  {
	document.contact.last_name.style.backgroundColor = "#F3C200";
    alert('Indiquez votre nom, SVP.');
    return(false);
  }
  if(document.contact.tel.value == '')
  {
	document.contact.tel.style.backgroundColor = "#F3C200";
    alert('Indiquez votre numéro de téléphone, SVP.');
    return(false);
  }
 if(document.contact.email.value == '')
  {
	document.contact.email.style.backgroundColor = "#F3C200";
	document.contact.email.value = ""
    alert('Indiquez votre adresse E-Mail, SVP.');
    return(false);
  }
 
  // Puis nous vérifions si le numéro de téléphone
  // contient des caractères interdits. Une boucle for
  // vérifie individuellement chaque caractère.
  var s;
  for(var i = 0; i < document.contact.tel.value.length; i++)
  {
    // le caractuel est stocké dans s.
    s = document.contact.tel.value.charAt(i);
    // Caractères valides : espace, parenthèses, "/", "-" et "+".
    if( !((s >= 0) && (s <= 9))
     && (s != ' ') && (s != '-') && (s != '+')
     && (s != '/') && (s != '(') && (s != ')'))
    {
      alert('Le numéro de téléphone ne peut comporter que des chiffres, '
       + 'espaces, parentheses, "/", "-" et "+".');
      return(false);
    }
  }
  if (document.contact.tel.value.length < 10)
   {
      alert('Le numéro de téléphone ne peut comporter que 10 chiffres');
      return(false);
    }
  // Puis nous recherchons des espaces dans l'adresse e-mail
  // '-1' signifie qu'aucun espace n'a été trouvé.
  if(document.contact.email.value.search(/ /) != '-1')
  {
    alert('Une adresse e-mail ne peut contenir un espace !');
    return(false);
  }
  // Pour finir, nous vérifions le format. 
  // Pour cela, nous fractionnons l'adresse en deux.
  // (avant et après le caractère"@"
  s = document.contact.email.value.split(/@/);
  adresse = document.contact.email.value;
  taille = document.contact.email.value.length;
  validelog = false;
// on extrait le 'login' (ce qui se situe avant l'arobace)
  arob = adresse.lastIndexOf(".");
  login = adresse.substring(0,arob);
  if ( login.length > 2 ) {
		validelog = true;
		}
	else {
		alert('Une adresse e-mail doit avoir le format "Utilisateur@Domain.fr",\n'
     +'par ex.: "mail"');
		validelog = false;
		}
	if ( validelog == true ) {
		return true;
		}
	else {
		return false;
		}
  // Avec un seul caractère "@" il ne peut y avoir que deux parties.
  if((s.length != 2) || s[0] == '' || s[1] == '')
  {
    alert('Une adresse e-mail doit avoir le format "Utilisateur@Domain",\n'
     +'par ex.: "mail"');
    return(false);
  }
  return(true);
}
//--></script>
<form name="contact" action="index.php?page=sendMail" method="POST" onSubmit="return(check(this));"></form><

et le php :
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<?php
     function emailCheck($email, &$err) {
     if ($email == "") {
     $err = "L'email est vide";
     return false;
     }
    
     if (!preg_match("/^[-a-z0-9\._]+@[-a-z0-9\.]+\.[a-z]{2,4}$/i", $email)) {
     $err = "Le format de l'email n'est pas valide";
     return false;
     }
    
     list($nom, $dom) = explode("@", $email); // On récupère le nom de domaine dans la variable $dom
    
     if (!checkdnsrr($dom) == $dom) { // si vous n'êtes pas sous Windows, vous pouvez utiliser directement la condition (!checkdnsrr($dom))
     $err = "Ce nom de domaine n'existe pas";
     return false;
     }
     return true;
     }
     ?>
     <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
     "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
     <html>
     <head>
     <title>Test de validité d'e-mail</title>
     </head>
     <body bgcolor="red">
     <form action="Test_Mail.php" method="post">
     <input type="text" name="semail" value="<?php echo $semail ?>">
     <input type="submit" value="Valider cet email">
     <?php
     if (isset($semail)) {
     ?>
     <hr>
     Résultat :<br>
     <?php
     if (emailCheck($semail, $err))
     echo "Cette adresse email est valide";
     else
     echo "Erreur : " . $err;
     }
     ?>
     </form>
     </body>
     </html>
C'est la partie en gras qui m'interresse...