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

Langage PHP Discussion :

Expression régulière sur une date [RegEx]


Sujet :

Langage PHP

  1. #1
    Membre régulier Avatar de mattyeux
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    169
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2006
    Messages : 169
    Points : 101
    Points
    101
    Par défaut Expression régulière sur une date
    Bonsoir,

    J'aimerais contrôler par expression régulière une date entrée par un utilisateur.

    J'ai réussi à trouver quelques exemple sur internet, mais je n'arrive pas à modifier ce que j'ai pour faire ce que je veux:

    J'aimerai bien que mon expression régulière puisse controler si une date est de la forme :

    • JJ/MM/AAAA HH:MM:SS (forme normale)
    • Mais aussi pouvoir accepter des jours et des mois à 1 caractère (pour les jours et les mois < 10 su style 8/9/2007).
    • La même chose pour les heures, les minutes et les seconde (8:0:0)
    • Et enfin pouvoir prendre des Date sans les heures (JJ/MM/AAAA au lieu de JJ/MM/AAAA HH:MM:SS)


    Voila, je sais pas si ma demande est compliquée, mais moi qui connais pas trop les expressions régulière, je n'en vois pas le bout ...

    Merci pour votre aide

    Matthieu

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 778
    Points
    17 778
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    function valider_date($date) {
        if (preg_match('~^(\d{1,2})([/-])(\d{1,2})\2(\d{4})\s+((\d{1,2}):(\d{1,2}):(\d{1,2}))?$~D', $date, $m))      {
            if (isset($m[5])) {
                return checkdate($m[3], $m[1], $m[4]) && $m[6] >= 0 && $m[6] < 24 && $m[7] >= 0 && $m[7] < 60 && $m[8] >= 0 && $m[8] < 60;
            } else {
                return checkdate($m[3], $m[1], $m[4]);
            }
        }
        return FALSE;
    }
    (non testé)

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

Discussions similaires

  1. expression régulière sur une url
    Par Sh4dow49 dans le forum Général JavaScript
    Réponses: 22
    Dernier message: 20/08/2008, 21h32
  2. Expression Régulière fonctionne une fois sur deux
    Par KoRiGaN44 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 03/07/2008, 19h07
  3. Expression régulière sur une date
    Par mattyeux dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 26/09/2007, 17h08
  4. Problème lors d'un Update sur une date
    Par Nany dans le forum ASP
    Réponses: 3
    Dernier message: 19/05/2004, 22h37
  5. [SQL] Conditions sur une date dans une requete
    Par poufouille dans le forum Bases de données
    Réponses: 4
    Dernier message: 17/03/2004, 14h25

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