IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Formulaire et date


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2004
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 201
    Par défaut Formulaire et date
    Bonsoir a tous, voila je ne suis pas un expert des expressions regulière, et je me retrouve donc confronté à un petit prb qui me rend fou depuis un bon moment.

    Voila j'ai un formualaire, qui contiens plusieurs champs.

    Sur ce formulaire, je veux que l'utilisateurs rentre sa date de naissance.
    Pour ceci je lui propose tris champs.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <input name="jours_naiss" type="text" id="jours" size="2" maxlength="2"> 
    						/ 
    						<input name="mois_naiss" type="text" id="mois" size="2" maxlength="2">
    						/
    						<input name="annee_naiss" type="text" id="annee" size="4" maxlength="4">
    ce formulaire fais appelle a une fonction de verification de tous les champs, tout marche bien sauf pour la verification de cette date.

    j'ai le code suivant :
    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
     
    function validation() 
    { 
     
    var reg_date_jours= new RegExp("^[0-9]{2}","g"); // variable définissant l'expression réguliere pour verifier le jours et le mois
    var reg_date_mois= new RegExp("^[0-9]{2}","g");
    var reg_date_annee= new RegExp("^¨[0-9]{4}","g"); // variable definissant l'année
     
    if(document.client.jours_naiss.value == "") 
    		{ 
            alert ('veuillez entrer un jours de naissance'); 
            document.client.jours_naiss.focus(); 
            return false; 
        	} 
     
    		if(!reg_date_jours.test(document.client.jours_naiss.value)) 
    		{ 
            alert ('Jours de naissance invalide'); 
            document.client.jours_naiss.focus(); 
            return false; 
        	} 
     
    		if(document.client.mois_naiss.value == "") 
    		{ 
            alert ('veuillez entrer un mois de naissance'); 
            document.client.mois_naiss.focus(); 
            return false; 
        	}
     
    		if(!reg_date_mois.test(document.client.mois_naiss.value)) 
    		{ 
            alert ('Mois de naissance invalide'); 
            document.client.mois_naiss.focus(); 
            return false; 
        	} 
     
    		if(document.client.annee_naiss.value == "") 
    		{ 
            alert ('veuillez entrer une année de naissance'); 
            document.client.annee_naiss.focus(); 
            return false; 
        	}
     
    		if(!reg_date_annee.test(document.client.annee_naiss.value)) 
    		{ 
            alert ('Année de naissance invalide'); 
            document.client.annee_naiss.focus(); 
            return false; 
        	}
    il me reconnais bien si les troix champs sont vide, il me reconnais bien que le champ jours et mois sont des chiffres ou pas, par contre pour l'année, que ce soit des chiffre ou du texte, il me marque toujours que la date est invalide.

    ceci est donc le premier prb.Ensuite, je ne sais pas trop comment faire pour qu'il ne puisse pas mettre des dates exotiques du style 45/14/1980, il faudrait que je puisse bloqué le champ jours à 01-31 et le champs mois à 01-12, et ceci me pose également prb, car je ne comprend pas tout aux expressiosn régulière.

    C'est pour ceci que je vous demande de l'aide.

    Si je em plante compet de solution, merci de me le faire savoir aussi

    merci encore

  2. #2
    Membre expérimenté

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Mars 2004
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2004
    Messages : 220
    Par défaut
    une autre solution serait d'utiliser les liste de sélection :

    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
    <select name="journaissance">
         <option>01</option>
         ...
         <option>31</option>
    </select>
     
    <select name="moisnaissance">
         <option>01</option>
         ...
         <option>12</option>
    </select>
     
    <select name="anneenaissance">
         <option>2006</option>
         <option>2005</option>
         ...
         <option>1901</option>
    </select>

Discussions similaires

  1. Affichage d'un résultat selon requête dans formulaire avec date
    Par SMPGSARL dans le forum Requêtes et SQL.
    Réponses: 10
    Dernier message: 06/07/2006, 14h52
  2. Formulaire : Récupération Date/Heure (hidden ?)
    Par Badr3am dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 27/05/2006, 16h28
  3. [Dates] conversion d'une entrée de formulaire en date
    Par cfloriot dans le forum Langage
    Réponses: 5
    Dernier message: 10/02/2006, 09h57
  4. modification formulaire + validation date
    Par cari dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 20/01/2006, 09h43
  5. [SGBD] formulaire insertion date Bdd Mysql
    Par Mimisator dans le forum Administration
    Réponses: 7
    Dernier message: 30/11/2005, 09h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo