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 :

Un ou deux chiffes de 1 à 9 ne commençant pas par 0 [RegEx]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de elcoyotos
    Homme Profil pro
    Amateur passionné
    Inscrit en
    Octobre 2006
    Messages
    496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Amateur passionné

    Informations forums :
    Inscription : Octobre 2006
    Messages : 496
    Par défaut Un ou deux chiffes de 1 à 9 ne commençant pas par 0
    Bonjour,

    Je viens vous demander un coup de main car je m'arrache les cheveux

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    // Un ou deux chiffes de 1 à 9 ne commençant pas par 0
    if (preg_match("`[^0][1-9]{1,2}$`", $_GET['id'])) {
        echo "BON";
    }
     
    else {
        echo "MAUVAUS";
    }
    Ce regex ne fonctionne pas lorsqu'il n'y a qu'un chiffre alors que je souhaite un ou deux chiffes de 1 à 9 ne commençant pas par 0

    De plus, j'aimerai que le chiffre ne puisse pas être supérieur à 51. Et là, je n'ai aucune idée de comment faire

    Merci d'avance

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    c'est pour faire quoi après ?

  3. #3
    Membre éclairé Avatar de elcoyotos
    Homme Profil pro
    Amateur passionné
    Inscrit en
    Octobre 2006
    Messages
    496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Amateur passionné

    Informations forums :
    Inscription : Octobre 2006
    Messages : 496
    Par défaut
    C'est pour vérifier une saisie utilisateur

  4. #4
    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,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if (preg_match('/^(?:[1-9]|[1-4][0-9]|5[0-1])$/', $_GET['id'])) {
    	echo 'Ok';
    } else {
    	echo 'Ko';
    }
    Nombres compris en 1 et 51 inclus

    Test la présence :
    d'un chiffre de 1 à 9 (1 <= x <= 9)
    ou
    d'un chiffre de 1 à 4... suivi d'un chiffre de 0 à 9 (10 <= x <= 49)
    ou
    du chiffre 5... suivi de 0 ou 1 (50 <= x <= 51)

    Edit : Je crois que j'avais mal lu... Il faut utiliser l'expression rationnelle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /^(?:[1-9]|[1-4][1-9]|51])$/
    Pour les nombres compris en 1 et 51 inclus (à l'exception de 10, 20, 30, 40 et 50).

  5. #5
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    Citation Envoyé par elcoyotos Voir le message
    C'est pour vérifier une saisie utilisateur
    oui mais après ?
    parce que fait un intval dessus + regarder si c'est < 51 ca sera plus simple que de faire un preg_match pour ca non ?
    en plus t'as filter_var pour se genre de chose

  6. #6
    Membre éclairé Avatar de elcoyotos
    Homme Profil pro
    Amateur passionné
    Inscrit en
    Octobre 2006
    Messages
    496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Amateur passionné

    Informations forums :
    Inscription : Octobre 2006
    Messages : 496
    Par défaut
    Merci à vous deux !

    J'ai effectivement pris la méthode de stealth35 qui est plus logique.
    J'ai fait tout bêtement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if (!filter_var($_GET['etat'], FILTER_VALIDATE_INT) or $_GET['etat'] > 51) {
        $_GET['etat'] = 1;
    }
    Encore merci de vos réponses

  7. #7
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    Citation Envoyé par elcoyotos Voir le message
    Merci à vous deux !

    J'ai effectivement pris la méthode de stealth35 qui est plus logique.
    J'ai fait tout bêtement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if (!filter_var($_GET['etat'], FILTER_VALIDATE_INT) or $_GET['etat'] > 51) {
        $_GET['etat'] = 1;
    }
    Encore merci de vos réponses

    c'est plutôt

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    filter_input(INPUT_GET, 'etat', FILTER_VALIDATE_INT, array('options' => array('min_range' => 1,  'max_range' => 51)))

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 30/11/2010, 21h02
  2. deux sum dont une qui ne retourne pas d'enregsitrement
    Par francinego dans le forum Langage SQL
    Réponses: 1
    Dernier message: 27/03/2009, 19h17
  3. Deux méthodes SQL dont une ne fonctionne pas ?
    Par bybelos33 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 27/03/2009, 15h12
  4. [Conception] Deux codes identique mais un qui fonctionne pas
    Par fabrice88 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 01/08/2006, 17h25

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