[PHP]control d'une chaine de caractère

anisse4 Messages postés 210 Statut Membre -  
Pi_Xi Messages postés 2274 Statut Membre -
Bonjour à tous,

je souhaite vérifier qu'une chaine de caractere est de type "toto_yyyy" avec yyyy représentant 4 chiffres. C'est pour vérifier les 4 chiffres que je bug.

Voilà ce que j'ai et qui fonctionne sans tester les 4 chiffres:

if (preg_match("/toto_\", $nom))


avec $nom la chaine que je teste

merci de votre futur aide

8 réponses

  1. ThEBiShOp Messages postés 9307 Date d'inscription   Statut Contributeur Dernière intervention   1 606
     
    utilise strlen nan ?
    2
  2. Pi_Xi Messages postés 2274 Statut Membre 149
     
    Bonjour,

    perso je ferais:

    1) un explode() de façon à récupérer yyyy

    2) puis tu vérifies le format de yyyy, tu peux le faire avec is_numeric()
    1
  3. anisse4 Messages postés 210 Statut Membre 21
     
    merci pour la réponse,
    mais nop, car en fait j'ai 4 types de fichiers avec différents nom que je teste, et je voudrai pas juste compter le nb de caractere, je veux verifier qu'aprés l'underscore y'a bien quatre chiffres
    0
  4. ThEBiShOp Messages postés 9307 Date d'inscription   Statut Contributeur Dernière intervention   1 606
     
    dans ce cas là, tu fais un explode avec "_" et tu fais un strlen sur la 2eme partie ^^
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. ThEBiShOp Messages postés 9307 Date d'inscription   Statut Contributeur Dernière intervention   1 606
     
    il veut vérifier qu'il y a bien 4 chiffres, il peut faire un is_numeric, mais il faut aussi faire le strlen à mon sens
    0
    1. Pi_Xi Messages postés 2274 Statut Membre 149
       
      j'ai posté en même temps que toi ... cependant, strlen() qui retourne la longueur de la chaîne de caractère, mais ne vérifie pas le format numeric.
      0
  7. ThEBiShOp Messages postés 9307 Date d'inscription   Statut Contributeur Dernière intervention   1 606
     
    yyyy => 4 chiffres
    y+y+y+y => 4 chiffres

    strlen('yyyy') = 4

    nan ?

    if (strlen('yyyy') == 4) {
      //c'est ok
    }
    else {
      //sinon c'est pas ok
    }


    je fais que répondre à la question du monsieur ^^
    0
    1. Pi_Xi Messages postés 2274 Statut Membre 149
       
      Le monsieur ou la madame a dit aussi:
      je veux verifier qu'aprés l'underscore y'a bien quatre chiffres
      ce que tu ne vérifie pas ... tu compte seulement le nombre de caractères, sans contrôler leur format ;)
      0
  8. ThEBiShOp Messages postés 9307 Date d'inscription   Statut Contributeur Dernière intervention   1 606
     
    donc on a tous les 2 raison et tout les 2 tort.
    0
    1. Pi_Xi Messages postés 2274 Statut Membre 149
       
      oui oui ptdr

      on pourri le sujet là surtout, la question est quand même super trivial, je donne des indices mais je lui ponds pas le code même s'il est ultra évident ! C'est une question de débutant.
      0
  9. ThEBiShOp Messages postés 9307 Date d'inscription   Statut Contributeur Dernière intervention   1 606
     
    de toute façon tous les éléments de réponses ont été donnés
    0
    1. Pi_Xi Messages postés 2274 Statut Membre 149
       
      yep on a bien tout lu avec nos 4 yeux !

      Bonne journée ;) et Bonne Année tant que j'y suis, pleine de zic et de lignes de codes, sans trop de bogues ni de couacs :))
      0