Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Walidacja hasła
Forum PHP.pl > Forum > Przedszkole
cycofiasz
Witam, mam wykonać skrypt rejestracji, w którym hasło musi mieć conajmniej jedną cyfrę, jedną małą literkę, dwie duże litery i ma mieć długość conajmniej 8 znaków (np: XfdfU5pYo)

Nie wiem jak skonstruować wyrażenie regularne do tego zadania, mam taki kod póki co:
  1. <?php
  2.  
  3. $haslo = 'XfdfU5pYo';
  4. if(strlen($haslo) >= 8)
  5. {
  6.    if (!eregi("^questionmark.gifquestionmark.gifquestionmark.gifquestionmark.gif?$" , $haslo)) echo "Haslo zle";
  7.    else echo "Haslo ok";
  8. }
  9. else echo 'Haslo za krotkie!';
  10.  
  11. ?>
ayeo
Musisz sprawdzać każdy warunek osobno, nie da się napisać takiego wyrażenia winksmiley.jpg

Pozdrawiam!
cycofiasz
Wykombinowałem takie coś:

  1. <?php
  2.  
  3. $haslo = 'XfdHy5pyo';
  4.  
  5. $re = array("[a-z]","[A-Z]+.*[A-Z]+","[0-9]","^.{8}");
  6.  
  7. foreach ($re AS $r)
  8. {
  9.    if (!preg_match("/$r/",$haslo)) echo $r.'-NIE<br />';
  10.    else echo $r.'-TAK<br />';
  11. }
  12. ?>


Chyba powinno działać poprawnie, jak ktoś ma jakieś prostrze rozwiązanie to proszę by się podzielił nim ;p
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.