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 :

Script date valide


Sujet :

JavaScript

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Script date valide
    Bonjour,

    J'essaie de créer une fonction qui permette de vérifier la date entrée par l'utilisateur dans un formulaire et de l'établir comme valide ou invalide.

    J'ai décidé d'éviter de m'en remettre au datepicker pour devenir un peu plus autonome quand je code en js...

    Je sais que plusieurs topics ont été créés à ce sujet mais j'aurais besoin que des personnes averties puissent me dire si je suis sur la bonne piste et/ou si j'oublie des choses...

    Je débute, donc pardonnez par avance les éventuelles erreurs de raisonnement et de formulation...

    J'ai pensé dans un premier temps créer une expression régulière et j'avais construit ma fonction comme suit :

    Code javascript : 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
    date_utilisateur = document.getElementById('date').value;
    	jour_date_utilisateur = parseInt(date_utilisateur.substr(0,2));
    	mois_date_utilisateur = parseInt(date_utilisateur.substr(3,2));
    	annee_date_utilisateur = parseInt(date_utilisateur.substr(6,4));
     
    	jour_date_utilisateur = document.getElementById('date').value;
    	var regJour = new RegExp ("^([0-2]{1}[0-9]{1}|[3]{1}[0-1]{1})$");
    	regJour.test(jour_date_utilisateur);
     
    	mois_date_utilisateur = document.getElementById('date').value;
    	var regMois = new RegExp ("^(0[1-9]{1}|1[0-2]{1})$");
    	regMois.test(mois_date_utilisateur);
     
    	annee_date_utilisateur = document.getElementById('date').value;
    	var regAnnee = new RegExp ("^(20[1-9]{1}[0-9]{1})$");
    	regAnnee.test(annee_date_utilisateur);

    La première chose, c'est que j'ai un souci avec les RegExp dans la mesure où je ne comprends pas où renseigner que si le ou les test(s) est/sont false si c'est le cas...

    Puis ça ne me convient pas, parce que d'une part l'utilisateur a toujours la possibilité d'inscrire des aberrations comme 00/00/2099, mais en plus, je ne sais pas non plus vérifier qu'il ne va pas saisir une date erronée comme 30/02/2013.

    Alors j'envisage maintenant de jouer sur des correspondances mois/jour :

    j'ai juste un problème parce que je manque de théorie pour savoir comment mettre en rapport les valeurs d'un tableau que j'intitulerais correspJourMois = ("",31,28,31,30,31,30,31,31,30,31,30,31) avec la date que renvoie la variable "mois_date_utilisateur".
    => Je voudrais que si mon utilisateur a opté pour une date comme xx/03/xxxx cela aille repêcher dans mon tableau que le nombre max que peut saisir l'utilisateur à ce niveau xx/03/xxxx (jour_date_utilisateur) est 31.

    j'ai dans l'idée que ça doit ressembler à un truc genre :
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    var correspJourMois = ["",31,28,31,30,31,30,31,31,30,31,30,31];
    if (mois_date_utilisateur > correspJourMois[mois_date_utilisateur]) {
    alert("Votre date est invalide !"); 
    return false; }
    else { return true; }

    Est-ce que ça vous semble juste?? Mon script ne fonctionne pas...
    je n'ai même pas une alerte en mettant une date de type 32/03/2013

    (Je pensais continuer le script avec l'idée qui figure là bas pour le contrôle des années bissextiles : http://www.developpez.net/forums/d13...e-champs-date/ )

    Est-ce que d'après vous, j'oublie quelque chose pour que mon script soit parfaitement fonctionnel?

    Merci pour votre aide !
    Dernière modification par Invité ; 17/06/2013 à 19h42.

Discussions similaires

  1. Boucle de dates valides
    Par Zebulon777 dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 26/03/2007, 15h07
  2. Script pour validation formulaire
    Par gforce dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 22/02/2007, 16h17
  3. obtenir toutes les dates valides comprises entre dates
    Par captainamerica75 dans le forum VBA Access
    Réponses: 3
    Dernier message: 01/06/2006, 13h25
  4. Classe ou script de validation des formulaires.
    Par __fabrice dans le forum Langage
    Réponses: 22
    Dernier message: 30/12/2005, 10h26

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