Partage
  • Partager sur Facebook
  • Partager sur Twitter

preg_match(juste pou les lettres)

Sujet résolu
    16 août 2018 à 8:32:35

    Bonjour,

    Je souhaiterais savoir comment faire pour avoir un preg_match() juste pour les lettres.

    C'est à dire que les personnes pourraient uniquement rentrer des lettres dans le formulaire et pas de chiffres

    Pour l'instant, j'ai ça mais ne fonctionne pas :

    function isPro($pro) 

        {

            return preg_match("/^[A-Za-z]*$/",$pro); 

        }

    Merci d'avance pour votre aide

    Cordialement

    Develop'webpro

    • Partager sur Facebook
    • Partager sur Twitter
      16 août 2018 à 9:34:34

      Bonjour, 

      Voici l'expression qui permet d'autoriser que les lettres : 

      preg_match("#^[a-zA-Z]+$#");

      ou

      preg_match("/^[a-zA-Z]+$/");


      Quelle version de PHP tu utilises ? 

      Cordialement

      -
      Edité par KévinH 16 août 2018 à 9:38:48

      • Partager sur Facebook
      • Partager sur Twitter
        16 août 2018 à 9:44:44

        J'utilise php5 mais je vais bientôt passer à php7

        • Partager sur Facebook
        • Partager sur Twitter
          16 août 2018 à 9:46:29

          Nos 3 expressions fonctionnent par contre je pense que ta fonction n'est pas bonne. 

          Tu peux vérifier ici !

          Tu vas utiliser souvent cette fontion ? 

          Tu as juste a mettre ton expression dans une variable sinon et à la tester avec un if --  else ^^

          -
          Edité par KévinH 16 août 2018 à 9:47:03

          • Partager sur Facebook
          • Partager sur Twitter
            16 août 2018 à 9:51:14

            Ok pas de problème mais le lien de "ici" me redirige vers openclassroom, donc je pense qu'il ne fonctionne pas

            Merci en tout cas pour votre aide

            • Partager sur Facebook
            • Partager sur Twitter
              16 août 2018 à 10:12:44

              Bonjour,

              Le ici redirigeait certainement vers ce lien:

              https://regex101.com/

              • Partager sur Facebook
              • Partager sur Twitter
              "Ils ne savaient pas que c'était impossible, alors ils l'ont fait" Mark Twain
                16 août 2018 à 10:21:05

                Oups. Je me suis trompé dans mon copier/coller du lien. 

                Voici le lien 

                Cordialement

                • Partager sur Facebook
                • Partager sur Twitter
                  16 août 2018 à 13:58:45

                  KévinH a écrit:

                  Voici l'expression qui permet d'autoriser que les lettres : 

                  preg_match("#^[a-zA-Z]+$#");

                  ou

                  preg_match("/^[a-zA-Z]+$/");

                  En fait, avec le "+" devant le "$" cela oblige l'utilisateur à remplir le champ, non ?

                  Moi je souhaiterais que l'utilisateur ne sois pas obliger de remplir le champ, mais seulement s'il le remplit, qu'il ne mette pas de chiffres.

                  J'avais la même chose pour le numéro de téléphone mais lui interdit les lettres justement et quand il y a une "*" devant le "$", l'utilisateur n'est pas obligé de le remplir, voici l'exemple ci après :

                  function isPhone($phone) 

                      {

                          return preg_match("/^[0-9 ]*$/",$phone);

                      }

                  En tout cas, votre solution fonctionne

                  • Partager sur Facebook
                  • Partager sur Twitter
                    16 août 2018 à 14:03:46

                    Bonjour,

                    Le + permet de dire que l'on veut que des lettres sur tous les caractères.

                    Si tu ne mets pas de +, cela teste que sur un seul caractère sur l'ensemble de la chaîne.

                    • Partager sur Facebook
                    • Partager sur Twitter
                    "Ils ne savaient pas que c'était impossible, alors ils l'ont fait" Mark Twain
                      16 août 2018 à 14:15:07

                      Ok desodé pour mes questions stupide et merci encore pour votre aide rapide 😉😉
                      • Partager sur Facebook
                      • Partager sur Twitter
                        16 août 2018 à 14:16:04

                        Ce n'était pas une question stupide :) 

                        Ton problème était juste le preg_match qui était mal formulé ? ou la fonction ? 

                        ça m'intéresse ^^

                        Cordialement

                        • Partager sur Facebook
                        • Partager sur Twitter
                          16 août 2018 à 20:43:12

                          eclairia a écrit:

                          Bonjour,

                          Le + permet de dire que l'on veut que des lettres sur tous les caractères.

                          Si tu ne mets pas de +, cela teste que sur un seul caractère sur l'ensemble de la chaîne.


                          Oui mais par contre ça question est pertinente du fait que à la place du + il faut mettre une * car ce qu'il veut c'est pas 1 ou plus caractères mais 0 ou plus caractères.
                          • Partager sur Facebook
                          • Partager sur Twitter
                            17 août 2018 à 7:42:18

                            quenti77 a écrit:

                            eclairia a écrit:

                            Bonjour,

                            Le + permet de dire que l'on veut que des lettres sur tous les caractères.

                            Si tu ne mets pas de +, cela teste que sur un seul caractère sur l'ensemble de la chaîne.


                            Oui mais par contre ça question est pertinente du fait que à la place du + il faut mettre une * car ce qu'il veut c'est pas 1 ou plus caractères mais 0 ou plus caractères.

                            OK merci beaucoup à tous car grâce à vous j'ai pu régler mon problème très rapidement ;)

                            EDIT : finalement j'ai mis cette expression 

                            return preg_match("/^[a-zA-Z -][^0123456789]*$/",$/*nom de la fonction*/);



                            -
                            Edité par (o-o) 17 août 2018 à 8:02:34

                            • Partager sur Facebook
                            • Partager sur Twitter

                            preg_match(juste pou les lettres)

                            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                            • Editeur
                            • Markdown