Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> 1 duża, 1 mała i 2 znaki specialne w haśle -> rejestracja
h4c0k1
post 25.07.2014, 01:09:49
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 13.05.2014

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


Witam tak jak w temacie, potrzebuje funkcję / już ułożoną strukturę tego.
Wiem że można zrobić to w preg_match ale nie obczajam tej funkcji proszę o pomoc!
Go to the top of the page
+Quote Post
phpion
post 25.07.2014, 07:02:17
Post #2





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Pokaż w takim razie jak próbowałeś. Na gotowca nie licz, a już na pewno nie w tym dziale.
Go to the top of the page
+Quote Post
by_ikar
post 25.07.2014, 14:01:02
Post #3





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

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


Wiesz, jeżeli nie potrafisz tego zrobić w jednym wyrażeniu (co jest oczywiste, bo jest to trochę trudne), to możesz spokojnie to przetestować w kilku wyrażeniach, np tak:

  1. <?php
  2.  
  3. function checkPassword($password)
  4. {
  5. //długość hasła
  6. if(strlen($password) < 8)
  7. {
  8. return false;
  9. }
  10.  
  11. //małe litery
  12. if(!preg_match('/[a-z]/', $password))
  13. {
  14. return false;
  15. }
  16.  
  17. //duże litery
  18. if(!preg_match('/[A-Z]/', $password))
  19. {
  20. return false;
  21. }
  22.  
  23. //cyfry
  24. if(!preg_match('/[0-9]/', $password))
  25. {
  26. return false;
  27. }
  28.  
  29. //znaki specialne
  30. if(preg_match_all('/[!@#$%^&*()\-_=+{};:,<.>]/', $password, $matches) < 2)
  31. {
  32. return false;
  33. }
  34.  
  35. return true;
  36. }
  37.  
  38. var_dump(checkPassword('pA$w0rd_'));


lub stworzyć/znaleźć wyrażenie którego nie będziesz rozumiał:

Kod
(?:(?=.*[a-z])(?:(?=.*[A-Z])(?=.*[\d\W])|(?=.*\W)(?=.*\d))|(?=.*\W)(?=.*[A-Z])(?=.*\d)).{8,}


Daje gotowca tylko dlatego że wyrażenia to nie jest coś łatwego i jeżeli się tego nie rozumie, to wszelkie próby pomocy w zrozumieniu tego raczej niewiele tutaj zmienią.. Zwłaszcza że można łatwo gotowce do twojego problemu znaleźć w różnych językach.

Ten post edytował by_ikar 25.07.2014, 17:20:37
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 15.07.2025 - 21:51