![]() |
![]() |
![]()
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. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 107 Pomógł: 9 Dołączył: 16.02.2004 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Cytat Rozumiem, że hasło może składać się z:... Nie może tylko musi. Cytat Ale tak jak napisałem nie wiem po co jest na początku i na końcu "/" Wyrażenia regularne ujmuje się w znaki odwrotnego ukośnika, który pełni rolę znaku ograniczającego. Czyli początek i koniec wyrażenia. Cytat szukam wszędzie i nigdzie nie mogę zobaczyć co oznacza np "?=" oraz ".*" Tutaj mamy zastosowany pewien trick z "górnej półki". Normalnie: ? - oznacza zero lub jedno wystąpienie * - oznacza zero lub więcej wystąpień . - oznacza dowolny jeden znak Ale w naszym przypadku te symbole mają inne znaczenie. (?= ) oznacza sprawdzenie dopasowania ale bez przesuwania się wzdłuż ciągu znaków. Wyrażenie jest sprawdzane ale dalsze matchowanie startuje od tego samego miejsca, jakby tego wcale nie było. Takie patrzenie w przod, bez ruszania sie z miejsca. Tak wiec (?=.*[A-Z]) sprawdza, czy jest duza litera gdzies dalej, ale jestesmy nadal przed nia i mozemy sprawdzic czy jest tez cos innego. Ta sztuczka pozwala na sprawdzenie wystąpień różnych znaków bez sprawdzania kolejności ich wystąpień. Czyli zarówno "A1b" jest poprawne jak i "Ba1". |
|
|
![]() ![]() |
![]() |
Aktualny czas: 13.10.2025 - 19:17 |