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