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

Contributions JavaScript / AJAX Discussion :

Verifier une date [Non suivi]


Sujet :

Contributions JavaScript / AJAX

  1. #1
    Membre actif

    Profil pro
    Inscrit en
    Juillet 2012
    Messages
    183
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 183
    Points : 274
    Points
    274
    Par défaut Verifier une date
    Dans le cas de la mise à jour de la FAQ, je viens de voir que :

    http://javascript.developpez.com/faq...erifFormatDate

    Le code n'est pas du tout joli et mérite un petit coup de jeune.

    Maintenant il reste à rendre mon code un peu plus humainement lisible.
    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
    50
    51
    52
    53
    54
    55
    56
     
    /**
      Cette fonction valide une date à partir des valeurs d'une date : 
    dateValidate(2012, 2, 30) => false;
    dateValidate(2011, 11, 24) => true;
     
    */
    function dateValidate(y, m, d) {
        d=new Date(y, m-1, d);
        return d.getMonth() == m-1 && d.getFullYear()==y;
    };
     
     
    /**
       Cette fonction valide une chaine de caractère
       et dit si c'est une date valide ou non,
       on part du principe que la date est au
        format YYYY/MM/DD (le caractère de séparation des chiffres étant optionnel.
       dateValidateStr("2012/12/25");  => true;
       dateValidateStr("2012/2/31");  => false;
     
    Fonction peut vraiment utile. on peut la jeter au profit de la suivante
    */
    function dateValidateStr(str) {
      var v = str.split(/\D+/);
      return dateValidate.apply(this,v);
    }
     
    /**
       Cette fonction valide une date en fonction du mask
       Elle reutilise la fonction dateValidate.
     
    dateValidateFromMask("2012/31/12","YYYY/DD/MM"); => true;
    dateValidateFromMask("2012/31/12","YYYY/MM/DD"); => false;
    dateValidateFromMask("03/25/1998","MM/DD/YYYY"); => true;
    dateValidateFromMask("03/25/1998","mm/dd/yyyy"); => true;
     
     
    */
     
    function dateValidateFromMask(str, mask) {
        //Valide la date pour savoir si elle respecte le mask
        if(!new RegExp(mask.replace(/[ymd]/gi,'\\d').replace(/\//g,'\\/')).test(str)) return false;
     
        // valide la date au niveau des valeurs y/m/d
        var dateArr = str.split(/\D+/),
            values = {};
     
        // créé un objet qui associera les y/m/d du mask avec la date pour ensuite les reutiliser la fonction dateValidate.
        // si str = "2012/23/05" et mask = "YYYY/DD/MM";
        // values = {y:"2012", m:"05", d:"23"};
        mask.match(/([ymd]+)/gi).forEach(function(str,i) {
          values[str.charAt(0).toLowerCase()] = dateArr[i];
        });
        return dateValidate(values.y, values.m, values.d);
    }

  2. #2
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 647
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 647
    Points : 11 136
    Points
    11 136
    Par défaut
    Bonjour,

    c'est le sujet de cette discussion :
    http://www.developpez.net/forums/d12...lheure-format/


Discussions similaires

  1. [PHP 5.2] fonction permettant de verifier une date
    Par marclas dans le forum Langage
    Réponses: 3
    Dernier message: 14/10/2010, 08h41
  2. verifier une date avec TRY CATCH
    Par DJERDJAR YACINE dans le forum Bases de données
    Réponses: 5
    Dernier message: 30/07/2007, 15h08
  3. verifier une date
    Par pierre2410 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 05/06/2007, 17h27
  4. Verifier une Date
    Par acado dans le forum ASP
    Réponses: 8
    Dernier message: 17/05/2006, 10h39
  5. [Dates] Verifier une date
    Par Seth77 dans le forum Langage
    Réponses: 4
    Dernier message: 13/03/2006, 12h17

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