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 :

verifier si il y a 2 chiffre dans ma chaine


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 26
    Points : 12
    Points
    12
    Par défaut verifier si il y a 2 chiffre dans ma chaine
    Bonjour;
    j'utilise un petit code qui me genere un MP totalment aleatoirement mais je veux que dans ce MP il y est au moins 2 chiffres commen verifier cette condition. Je ne pige rien au expression rationnel et reguliere (dsl) donc si vous pouvier m'aider.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    // on declare une chaine de caractères
    $chaine = "abcdefghijklmnopqrstuvwxyz0123456789";
     
    //nombre de caractères dans le mot de passe
    $nb_caract = 6;
     
    //on fait une boucle
    for($u = 1; $u <= $nb_caract; $u++) {
     
    //on compte le nombre de caractères présents dans notre chaine
        $nb = strlen($chaine);
     
    // on choisie un nombre au hasard entre 0 et le nombre de caractères de la chaine
        $nb = mt_rand(0,($nb-1));
     
    // on ecrit  le résultat
        print $chaine[$nb];
    }
    merci
    DAM-s

  2. #2
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 234
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 234
    Points : 8 497
    Points
    8 497
    Billets dans le blog
    17
    Par défaut
    Hum quel est le rapport entre ce que tu donnes et la vérification de ta chaîne ?
    Pour vérifier qu'une chaîne a au moins deux chiffres...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    function has_at_least_two_digits($s) {
        $n = strlen($s) ;
        $counter = 0 ;
        for ( $i = 0 ; $i < $n ; $i++ ) {
            if ( $s[$i] >= '0' && $s[$i] <= '9' ) {
                $counter++ ;
                if ( $counter >= 2 ) {
                    return TRUE ;
                }
            }
        }
        return FALSE ;
    }

  3. #3
    Membre chevronné
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Points : 1 839
    Points
    1 839
    Par défaut
    Salut,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
    <?php
    function getMp() {
     
       $toReturn='';
     
       // on declare une chaine de caractères
       $chaine="abcdefghijklmnopqrstuvwxyz0123456789";
     
       //on compte le nombre de caractères présents dans notre chaine
       $nb=strlen($chaine);
     
       //nombre de caractères dans le mot de passe
       $nb_caract=6;
     
       //on fait une boucle
       for($u=0;$u<$nb_caract;$u++) {
     
          // on choisie un nombre au hasard entre 0 et le nombre de caractères de la chaine
          $al=mt_rand(0,$nb-1);
          // concatenation
          $toReturn.=$chaine{$al};   
     
       }
     
       return $toReturn; 
    } 
     
     
    do {  
       $mot_de_passe = getMp();
       // test si au moins 2 chiffres
       preg_match_all("`[0-9]`",$mot_de_passe,$arChiffre);
       $nb_chiffres=count($arChiffre[0]);
    }while ($nb_chiffres < 2); 
     
    // affiche mot de passe
    echo $mot_de_passe;
     
    ?>


  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 26
    Points : 12
    Points
    12
    Par défaut
    Merci pour les reponces...

    et dite moi est-il possible de faire un truc du genre:
    • si moins de 2 on retourne au debut pour regener un MP qui sera ensuite reverifier
    • si 2 ok ca passe
    • si+ de 2 on retourne au debut pour regener un MP qui sera ensuite reverifier


    Merci

    DAM-s

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 26
    Points : 12
    Points
    12
    Par défaut
    oups je n'aie rien dit j'avaçis pas tout lu le code ; le do et le while de ska_ root le fait dsl et merci

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

Discussions similaires

  1. recuperer les chiffres dans une chaine
    Par grospatapouf dans le forum Débuter avec Java
    Réponses: 5
    Dernier message: 22/01/2009, 00h08
  2. Comment retrouver un chiffre dans une chaine ?
    Par neuneu1 dans le forum Débuter
    Réponses: 3
    Dernier message: 01/12/2007, 18h18
  3. Compter nombre de chiffres dans une chaine
    Par D.Mounir dans le forum Excel
    Réponses: 2
    Dernier message: 18/06/2007, 12h28
  4. Recherche d'un chiffre dans une chaine de nombres
    Par syldudu dans le forum Requêtes et SQL.
    Réponses: 11
    Dernier message: 27/10/2006, 10h55
  5. Comment récupérer un chiffre dans une chaîne ?
    Par kenny49 dans le forum Langage
    Réponses: 1
    Dernier message: 16/08/2006, 14h52

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