Witam, tworzę wymóg hasła w formularzu rejestracji.
Chciałbym aby w haśle był wymóg:. Jak mogę wykonać to w PHP? Zrobiłem coś takiego:
Wymóg dla hasła: minimum 1 duża litera, minimum 1 cyfra, tak aby nie musiały być one obok siebie(kolejność nie ma znaczenia) oraz aby długość hasła była od 6 do 30 znaków (nie musi być w tym wyrażeniu bo mogę to zrobić sobie osobno w ten sposób:
if ((strlen($password1) < 6) || (strlen($password1) > 30)) {
$result = array('msg' => "Password must be between 6 to 30 characters!");
echo json_encode($result);
die;
Co do tych wymagań to zrobiłem coś takiego:
function check_pass($password) {
if (preg_match('/^(?=.*[A-Z])(?=.*\d)\w{6,30}$/', $password)) {
return true;
} else {
return false;
}
}
if (!check_pass($password)) {
$result = array('msg' => "blad!");
echo json_encode($result);
die;
}
Po takim zapytaniu dostaję taki komunikat: Warning: preg_match(): Compilation failed: nothing to repeat at offset 25
Przykład
Testowo1 - prawidłowe
testOwo1 -prawidłowe
TESTowo123- prawidłowe
testowo -źle
te1stowo -źle
testowo444 -źle
Co mam nie tak w funkcji wymogu? Bardzo mi na tym zależy więc proszę o pomoc. Pozdrawiam! Będę wdzięczny za każdą wskazówkę.