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 :

help: Problème Regex


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 21
    Par défaut help: Problème Regex
    Je veux faire un regex pour que dans un input, le forumlaire ne soit validé que dans le cas ou un nombre soit soit entre 1000-00-00-et 2999-19-39 (j'aurais voulu faire 1950-01-01 à 2025-12-31, amsi trop complexe pour moi), et qu'il prenne en compte 9999-99-99.

    Ce regex ne marche pas:

    regex = /^([1-2]{1}[0-9]{3}[-][0-1]{1}[0-9]{1}[-][0-3]{1}[0-9]{1}) | ([9]{4}[-][9]{2}[-][9]{2})$/;

    pouvez vous me dire pouquoi ou me proposer une solution svp
    Merci

  2. #2
    Membre averti Avatar de Seby63
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2010
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2010
    Messages : 47
    Par défaut
    Salut,

    Tu veux forcement une regex pour faire ça?

    Sinon tu peut faire ça :



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <?php
    $var = '1988-23-01' ;
    $nbr1 = substr( $var, 0, 4); 
    $nbr2 = substr( $var, 5, 2); 
    $nbr3 = substr( $var, 8, 2); 
     
    echo $nbr1.'-'.$nbr2.'-'.$nbr3  ;
    ?>
    En faite du découpe ta variable et tu récupere tes 3 nombre dans $nbr1, $nbr2 et $nbr3. Y te reste juste à faire les vérifications pour la validité...

  3. #3
    Membre Expert
    Avatar de Eric2a
    Homme Profil pro
    Technicien
    Inscrit en
    Septembre 2005
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 225
    Par défaut
    Salut,

    C'est vrai mais bon... Soyons fous !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    // De 1000-00-00 à 2999-19-39, et 9999-99-99
    $res = preg_match('/^([1-2][0-9]{3}-[0-1][0-9]-[0-3][0-9]|9999-99-99)$/', $str);
    Ci-dessous, ce sont bien des dates ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    // De 1950-01-01 à 2025-12-31, et 9999-99-99
    $res = preg_match('/^((?:19[5-9][0-9]|20(?:[0-1][0-9]|2[0-5]))-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12][0-9]|3[01])|9999-99-99)$/', $str);
    Si oui, il reste à verifier les années bissextiles.

Discussions similaires

  1. [RegEx] Problème regex url cliquable
    Par dorian53 dans le forum Langage
    Réponses: 5
    Dernier message: 16/11/2006, 19h17
  2. Réponses: 4
    Dernier message: 27/09/2006, 12h02
  3. [RegEx] Problème Regex PCRE
    Par raptorman dans le forum Langage
    Réponses: 6
    Dernier message: 07/07/2006, 17h23
  4. help!! problème de compatibilité ascendante
    Par valfredr dans le forum XMLRAD
    Réponses: 5
    Dernier message: 16/06/2003, 16h15
  5. Help :Problème de clignotement
    Par LE CHAKAL dans le forum Composants VCL
    Réponses: 6
    Dernier message: 14/08/2002, 10h53

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