Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Sprawdzanie hasła preg_match()
xeveot
post
Post #1





Grupa: Zarejestrowani
Postów: 29
Pomógł: 2
Dołączył: 17.03.2008

Ostrzeżenie: (0%)
-----


Witam

Ma ktoś może jakiś sprawdzony sposób na sprawdzenie hasła pod warunkiem że zawiera:
- małą literę
- wielką literę
- cyfrę od 0 do 9
- znak specjalny

Gdzieś czytałem że można użyć w wyrażeniu znak "?=" ale nie wiem zbytnio jak go zastosować.
Dziękuje i pozdrawiam.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Brick
post
Post #2





Grupa: Zarejestrowani
Postów: 107
Pomógł: 9
Dołączył: 16.02.2004
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Szukałem odpowiedzi na bardzo podobne pytanie i znalazłem ten post, niestety podane rozwiązanie jest błędne, ponieważ:
- zwraca true gdy na końcu ciągu jest znak specjalny, a nie dowolne jego wystąpienie.
- warunek {6,16} zwraca true jeżeli wystąp iminimum 6 razy kombinacja: dowolny znak alfanumeryczny potem znak specjalny.

Nie udało mi się niestety napisać takiego jednego wyrażenia, które by sprawdzało wszystkie podane warunki na raz.
Ja zrobiłem to za pomocą czterech oddzielnych wyrażeń:
  1. <?php
  2. $w1 = preg_match("/[A-Z]/",$string);
  3. $w2 = preg_match("/[a-z]/",$string);
  4. $w3 = preg_match("/[0-9]/",$string);
  5. $w4 = preg_match("/[!@#$%^&*()_+|-]/",$string);
  6.  
  7. $sum = $w1+$w2+$w3+$w4;
  8. if ($sum<4) print "Złe hasło";
  9. ?>

Zapewne da się to bardziej uprościć tylko pytanie czy jest sens tracić na to czas.
Go to the top of the page
+Quote Post

Posty w temacie
- xeveot   [PHP]Sprawdzanie hasła preg_match()   24.03.2009, 20:09:59
- - 230005   [a-z0-9]/i <- to i na końcu oznacza, że wyrażen...   24.03.2009, 20:19:23
- - xeveot   a takie wyrażenie jest prawidłowe? [PHP] pobierz...   24.03.2009, 22:43:21
- - 230005   Wow Po co aż tak komplikować? To powinno być popr...   24.03.2009, 23:04:15
- - xeveot   EDIT: Sorry działa, dziękuje bardzo   25.03.2009, 06:44:24
- - Brick   Szukałem odpowiedzi na bardzo podobne pytanie i zn...   22.05.2009, 08:16:40
- - Conrado81   Ja również szukałem odpowiedzi na bardzo podobne p...   17.04.2010, 19:59:19
- - Brick   Ale w ogóle sprawdziłeś to? To zupełnie nie działa...   28.04.2010, 12:28:21
- - unloco   Mógłby ktoś objaśnić wyrażenie [PHP] pobierz, pla...   19.08.2010, 19:30:44
|- - MatBlo   Chciałbym odświeżyć temat, wyrażenie podane przez ...   24.11.2010, 10:30:29
- - Brick   CytatRozumiem, że hasło może składać się z:... Nie...   11.09.2010, 22:15:08
- - everth   Jak chcesz mniej więcej złapać jak budować RegExy,...   11.09.2010, 22:24:53
- - kiler129   Jedna uwaga - a-z nie obejmuje polskich ogonków. J...   24.11.2010, 11:42:45
- - MatBlo   Tak wiem wystarczy zamiast A-Z wpisać A-Ż, ale nie...   24.11.2010, 11:48:31
- - Brick   Działa dla min. 8 znaków, ale nie ma sprawdzania c...   24.11.2010, 21:59:42
- - gsk   [PHP] pobierz, plaintext function haslo($haslo...   24.11.2010, 22:02:20
- - Brick   Tą "prostą funkcję" można zastąpić jedną...   25.11.2010, 19:16:27
|- - id4   Cytat(Brick @ 25.11.2010, 20:16:27 ) ...   24.06.2014, 11:54:02
- - Brick   CytatMa ktoś może takie, które wymaga: - małej lit...   24.06.2014, 14:44:09
|- - id4   Cytat(Brick @ 24.06.2014, 15:44:09 ) ...   24.06.2014, 16:05:12
- - Brick   No i ok, sam wymyśliłeś zanim zdążyłem odpisać. N...   26.06.2014, 08:20:56
- - szajens   A czy do filtrowania hasła nie można by używać pop...   28.06.2014, 18:29:49
- - sazian   zamień [0-9!@#$%^&*()_+|-] na [...   29.06.2014, 11:56:35
- - Brick   CytatA czy do filtrowania hasła nie można by używa...   30.06.2014, 15:26:42
- - szajens   Cytat(Brick @ 30.06.2014, 16:26:42 ) ...   30.06.2014, 17:24:01


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 7.10.2025 - 00:34