![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 496 Pomógł: 1 Dołączył: 16.01.2008 Skąd: Świnoujście Ostrzeżenie: (0%) ![]() ![]() |
Witam
W jaki sposób mogę sprawdzić czy podane hasło w polu tekstowym zawiera duże i małe litery, cyfry i znaki specjalne? (znalazłem wiele podpowiedzi ale z użytą funkcją 'ereg' a nie potrafię przekształcić jej na preg_match)
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 587 Pomógł: 190 Dołączył: 5.02.2011 Skąd: 64-800 Ostrzeżenie: (0%) ![]() ![]() |
Prosty przykład na sprawdzenie czy duże i małe litery oraz cyfry i _ oraz -
ilość znaków w haśle min 6, max 40, niektóre znaki specjalne wymagają backslash-a przed sobą
Tu fajnie wytłumaczone wyrażenia regularne: Wyrażenia regularne PCRE w PHP Tutorial Ten post edytował _Borys_ 8.01.2013, 16:50:20 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 496 Pomógł: 1 Dołączył: 16.01.2008 Skąd: Świnoujście Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 587 Pomógł: 190 Dołączył: 5.02.2011 Skąd: 64-800 Ostrzeżenie: (0%) ![]() ![]() |
do tego służą kwantyfikatory
+ - conajmniej raz * - zero lub dowolną ilość razy ? - zero lub jeden raz Przykład, conajmniej jedna mała litera, conajmniej jedna duża litera, conajmniej jedna cyfra i conajmniej jeden z tych dwóch znaków specjalnych Kod '/^([a-z]+[A-Z]+[0-9]+[_-]+)$/D'
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 1 933 Pomógł: 460 Dołączył: 2.04.2010 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Prosty przykład na sprawdzenie czy duże i małe litery oraz cyfry i _ oraz - ilość znaków w haśle min 6, max 40, niektóre znaki specjalne wymagają backslash-a przed sobą
Tu fajnie wytłumaczone wyrażenia regularne: Wyrażenia regularne PCRE w PHP Tutorial To co napisałeś nie spowoduje, że przejdzie jedynie ciąg znaków zawierający małe, duże litery, liczby i parę znaków, ale wszystkie ciągi zawierające się w tym przedziale. Równie dobrze mogę wpisać hasło 'aaaaaaa' lub '-------', a chyba nie o to koledze chodziło? -------------------- Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
|
|
|
-Gość- |
![]()
Post
#6
|
Goście ![]() |
do tego służą kwantyfikatory + - conajmniej raz * - zero lub dowolną ilość razy ? - zero lub jeden raz Przykład, conajmniej jedna mała litera, conajmniej jedna duża litera, conajmniej jedna cyfra i conajmniej jeden z tych dwóch znaków specjalnych Kod '/^([a-z]+[A-Z]+[0-9]+[_-]+)$/D' Też źle, przy takim wyrażeniu zakładasz konkretną kolejność znaków, nie pasuje do wzorca np. Az-1. A tak przy okazji pisze się: co najmniej (osobno) Propozycja: zamienić dozwolone znaki na wartości puste, jeśli coś zostanie, to znaczy, że napis jest nieprawidłowy |
|
|
-Gość- |
![]()
Post
#7
|
Goście ![]() |
Nie mogę edytować, a konta nie chce mi się zakładać. Jednak propozycja jest zła, bo nie uwzględni, że znaki muszą wystąpić. Chyba nie obejdzie się bez sprawdzania kilku warunków
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 374 Pomógł: 23 Dołączył: 3.06.2006 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
tu masz regexpa, który być może Cię zadowoli:
Kod (?=^.{8,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$ Warunki: - przynajmniej jedna wielka litera - przynajmniej jedna mała litera - przynajmniej jedna cyfra lub inny znak specjalny - długość minimum 8 znaków -------------------- Pomogłem? Podziękuj proszę klikając poniżej "POMÓGŁ" ;)
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 496 Pomógł: 1 Dołączył: 16.01.2008 Skąd: Świnoujście Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 374 Pomógł: 23 Dołączył: 3.06.2006 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
-------------------- Pomogłem? Podziękuj proszę klikając poniżej "POMÓGŁ" ;)
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 1 933 Pomógł: 460 Dołączył: 2.04.2010 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za odpowiedzi ale poniższy skrypt nie chce zadziałać:
Obawiam się, że jednym wyrażeniem regularnym nie załatwisz całości, nie po to one są. Nie ma nawet takiego operatora jak AND, który byłby tu pomocny.
Ten post edytował b4rt3kk 9.01.2013, 13:03:49 -------------------- Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 26.04.2025 - 00:37 |