| 12
 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
 94
 95
 96
 97
 98
 99
 100
 101
 102
 103
 104
 105
 106
 107
 108
 
 |  
function Trim (myString)
{//supprime les espaces vides en début et en fin de chaine
    return myString.replace(/^\s+/g,'').replace(/\s+$/g,'')
}
 
 
function Verif_Champ(id_input, regex)
{
    var champ;
    var etat = true;
 
    if (champ = document.getElementById(id_input))
        {
            var id_span = champ.name+'_verif';//id du span = nom du champ concaténé à _verif
            var span;    
 
            // Si le span associé existe on fait le contrôle
            if(span = document.getElementById(id_span))    
                {
                    // Test le regex ou si le champ est vide
                    if ((regex.test(champ.value)) || Trim (champ.value) == '') 
                        {
                            span.style.display = 'none';
                        }
                        else 
                        {
                            span.style.display = 'inline';
                            etat = false;
                        }
                }
        }
    return etat; 
}
 
 
 
function Controle_champs(bloc,type_champ)
{        
 
    var bloc_controle;
 
     // Sélection du bloc contenant les champs à contrôler
    if(bloc_controle = document.getElementById(bloc))
        {
            //Initialisation d'une variable pour contenir un tableau.
            var tab = new Array();
 
            // Cherche les balises "type_champ" inlues dans le bloc ("formulaire1" ou "form_text" dans l'exemple) 
            tab = bloc_controle.getElementsByTagName(type_champ);
 
                  var nb_tableau = tab.length;
 
            var etat = true;
            var span;
 
            // Liste les éléments du tableau
 
            for (i=0; i < nb_tableau; i++)        
                {
                    var id_span = tab[i].name+'_controle';//id du span = nom du champ concaténé à _controle
 
                    // Si le span associé existe on fait le contrôle
                    if(span = document.getElementById(id_span))    
                    {    
                        if(Trim(tab[i].value) == "") 
                            {
                                span.style.display = 'inline';
                                etat = false;
                            }
                            else
                            {
                                span.style.display = 'none';
                            }
                    }            
                }
 
            return etat;                                       
        }
}
 
 function Controle_form ()
{
    var etat = false;
	var radio_choice = true;
 
    // ici tu défini les bloc à contrôler (champs qui ne doivent pas être vides) avec le type de champs associés en les passant en paramètres à la fonction Controle_champs
    if (!Controle_champs('form_input','input')) etat = false;
    if(!Controle_champ('MR',radio_choice))etat =false;
    // ces contrôles spécifiques doivent être placés après la fonction Controle_champs puisqu'ils vérifient la qualité du champ. On passe à la fonction Verif_Champ l'id du champ et le regex de contrôle
	var regex_nom = /^([a-zA-Z\-]{2,})$/;
	if (!Verif_Champ('nom',regex_nom)) etat = false; 
 
 
	if (!Verif_Champ('prenom',regex_nom)) etat = false; 
 
    var regex_tel = /^([_.\-\s]*[0-9]{2,}){4,}$/;
    if (!Verif_Champ('numero',regex_tel)) etat = false;
 
    var regex_mail = /^([a-zA-Z0-9_-])+([.]?[a-zA-Z0-9_-]{1,})*@([a-zA-Z0-9-_]{2,}[.])+[a-zA-Z]{2,3}$/;
    if (!Verif_Champ('mail',regex_mail)) etat = false;
 
	var regex_pass = /^([a-zA-Z0-9]{5,})$/;
    if (!Verif_Champ('pass',regex_pass)) etat = false;
 
 
    return etat;
} | 
Partager