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

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. Contributeur
    utilise strlen nan ?
    1. 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. 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
        1. Contributeur
          dans ce cas là, tu fais un explode avec "_" et tu fais un strlen sur la 2eme partie ^^
          1. Contributeur
            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
            1. 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.
          2. Contributeur
            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 ^^
            1. 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 ;)
          3. Contributeur
            donc on a tous les 2 raison et tout les 2 tort.
            1. 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.
          4. Contributeur
            de toute façon tous les éléments de réponses ont été donnés
            1. 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 :))