/ / Edycja wyrażenia regularnego, które nie jest moje, nie jestem pewien, jak dostosować go do potrzeb - php, regex, długość łańcucha

Edytowanie regexu, które nie jest moje, nie wiem jak dostosować go do potrzeb - php, regex, string-length

Mam regex, który został dla mnie napisany dla haseł:

~^[a-z0-9!@#$%^&*()]{8,16}$~i

Ma pasować do ciągów znaków alfanumerycznychi symbole 8-16 znaków. Teraz muszę usunąć wymagania dotyczące minimalnej i maksymalnej długości, ponieważ muszę podzielić komunikaty o błędach, aby ułatwić obsługę - próbowałem po prostu wyjąć część {8,16}, ale potem to się psuje. Jak mam to zrobić? Dzięki z góry.

Odpowiedzi:

2 dla odpowiedzi № 1

Rozumiem, że wykonujesz osobne kontrole dla zbyt długich lub zbyt krótkich łańcuchów, a to wyrażenie regularne upewnia się tylko, że nie ma żadnych nieprawidłowych znaków. Powinno to zrobić:

~^[a-z0-9!@#$%^&*()]+$~i

+ znaczy jeden lub więcej, * znaczy zero lub więcej; prawdopodobnie nie ma znaczenia, którego używasz.

Pozbyłem się również niepotrzebnych ukośników; żaden z tych znaków nie ma żadnego specjalnego znaczenia w klasie znaków (to znaczy w nawiasach kwadratowych).