Bonjour,

Comme vous constaterez, je suis débutant dans la programmation. Après de très nombreuses lectures, j'ai trouvé ces codes que j'essaye de comprendre et d'appliquer mais soit il ne marche pas soit il ne fait pas exactement ce que je recherche.

j'aimerai avoir des contrôles sur la saisie de champs dans un formulaire.
Si bonne saisie = rien ne se passe et je continue à renseigner les autres champs
si mauvaise saisie = alors message d'erreur de saisie et je reste sur le même champ

J'ai souvent trouvé des explications avec onclick mais il m'a semblé mieux d'utiliser onblur pour ne pas multiplier les boutons.
Il me semble qu'avec les RegExp je pouvais trouver ce que je voulais (en apprenant à mieux les utiliser). j'ai aussi tenté avec des patterns mais les scripts me semblent meilleurs.

Sur ce code, il me revient toujours "Erreur", je ne sais pas où corriger mes erreurs. :
Code HTML : 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
<!DOCTYPE html>
<html>
<head>
	<title> CONTROLE TELEPHONE </title>
</head>
<body>
 
<form>
 
	<p> Saisissez un numéro : <input type="tel" name="tel_pers" onblur="verifTel(this.form)"> </p>
 
	<p>Ville : <input type="text" name="ville" id="ville"> </p>
 
<script type="text/javascript">
 
        function verifTel(formulaire) 
        {
          var Telephone=new RegExp("^(\d{2})-(\d{2})-(\d{2})-(\d{2})-(\d{2})$");
 
          if (Telephone.test(verifTel))
          {
            alert("VALIDE"); 
          } 
          else 
          {
            alert("ERREUR!"); 
          }
        }
 
</script>
 
</form>
 
</body>
</html>

Sur ce second control : c'est le format du mail qui est limité car il ne contrôle pas le nombre de saisie (ex: @yahoo.dsqdfsqfd = valide) et le curseur change quand même de champ malgré le message d'erreur

Code HTML : 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
<!DOCTYPE html>
<html>
<head>
	<title> CONTROLE MAIL</title>
</head>
<body>
 
<form>
 
   <p> Adresse mail : <input type="mail" name="mail" onblur="ValiderMail(this.form)"> </p>
 
   <p> Ville : <input type="texte" name="ville" id="ville"> </p>
 
<script type="text/javascript">
 
   function ValiderMail(formulaire)
    {
      if (formulaire.mail.value.indexOf("@",0)<0) 
        {
                alert("INVALIDE")
        }
      else 
      {
                alert("VALIDE.");
      }
   }
</script>
 
</form>
</body>
</html>


J'envisage au moins sur les champs "complexes : date, mail, téléphone... d'utiliser une fonction script. Qu'en pensez-vous

j'espère avoir été assez clair dans ma demande.

Merci pour votre aide précieuse

Cordialement