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 :

Les formulaires (partie 2) : Comment vérifier la syntaxe d'une date ? [Fait] [FAQ]


Sujet :

Contributions JavaScript / AJAX

  1. #1
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut Les formulaires (partie 2) : Comment vérifier la syntaxe d'une date ?
    Comment vérifier la syntaxe d'une date ?
    http://javascript.developpez.com/faq...Objs#VerifDate

    • Simplification du code en utilisant l'objet Date()


    Comment vérifier la syntaxe d'une date ?

    La fonction prend en paramètre une chaîne de caractères de la forme jj/mm/aaaa. A partir de là nous créons un objet Date(). Nous comparons ensuite le résultat retourné par l'objet Date() avec celui passé en paramètre de la fonction.

    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
    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
    // Cette fonction vérifie le format JJ/MM/AAAA saisi et la validité de la date.
    function checkDate(d) 
    {
     	var strDate;
    	var annee, mois, jour;
    	var date;
     
    	strDate = d.split("/");		//division de la chaine selon le séparateur "/"
     
    	// si le tableau strDate ne contient pas 3 éléments alors la date est mal formatée
    	if (strDate.length != 3) 	
    	{
    		alert("La date n'est pas au format JJ/MM/AAAA.");
    		return false;
    	}
     
    	jour = parseInt(strDate[0],10);
    	mois = parseInt(strDate[1],10)-1;	// /!\ en javascript les mois vont de 0 (janvier) à 11 (décembre)
    	annee = parseInt(strDate[2],10);
     
    	date = new Date(annee, mois, jour);		// création de l'objet date
     
    	// vérification du jour, mois et année
    	if (date.getDate() != jour) 
    	{
    		alert("Le jour n'est pas correct.");
    		return false;
    	}	
     
    	if (date.getMonth() != mois) 
    	{
    		alert("Le mois n'est pas correct.");
    		return false;
    	}		
     
    	if (date.getFullYear() != annee) 
    	{
    		alert("L'année n'est pas correcte.");
    		return false;
    	}
     
    	return true;	// pas d'erreur
     
    }

    Voir aussi : Comment vérifier si un champ qui contient la date et l'heure au format(aaaa-mm-jj hh:mm:ss) est bien rempli ?

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 198
    Par défaut Relecture
    Je ne sais trop quoi penser, la fonction prenant mal en compte si il manque un élément.
    Si il manque un élément de la date => seul le jour est déclaré non valide?.

    Il doit également y avoir moyen de faire cela avec une regExp, il me semble l'avoir vu il y à peu sur le forum.

    Je déplacerais éventuellement cette question dans le paragraphe La gestion des dates (l'objet Date).

  3. #3
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    Effectivement, cette Q/R existe ailleurs dans la FAQ :
    http://javascript.developpez.com/faq...erifFormatDate
    donc peut-être que l'on peut faire un lien direct vers cette Q/R ?


    cela évitera le doublon

  4. #4
    Expert éminent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par défaut
    Vous voudriez supprimer la Q/R en fait ?

  5. #5
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    Non, plutôt la garder mais plutôt que réécrire le même code autant faire un lien direct vers la section date.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 11
    Dernier message: 19/11/2013, 21h36
  2. [FAQ] Les formulaires (partie 2) : Comment soumettre un formulaire automatiquement ?
    Par Auteur dans le forum Contributions JavaScript / AJAX
    Réponses: 4
    Dernier message: 18/11/2013, 21h33
  3. Réponses: 2
    Dernier message: 16/11/2013, 19h36
  4. [FAQ] Les formulaires (partie 2) : Comment soumettre un formulaire en utilisant un lien ?
    Par Auteur dans le forum Contributions JavaScript / AJAX
    Réponses: 5
    Dernier message: 16/11/2013, 17h55
  5. [JavaScript] [FAQ][Correction / MAJ] Comment vérifier la syntaxe d'une date ?
    Par Auteur dans le forum Contribuez
    Réponses: 0
    Dernier message: 09/12/2008, 23h52

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