Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Problem preg_match
Forum PHP.pl > Forum > Przedszkole
kaszanka
Hi,

Mam sobie preg_match:
  1. if (!preg_match("/^[a-z][a-z.0-9]*-?[a-z.0-9]*[a-z0-9]$/i", $_POST['local'])) { $monit_err[] = "- Nazwa locala zawiera niedozwolone znaki<BR>"; } else { }

Nie bardzo rozumiem, dlaczego gdy w formularzu podana jest np tylko jedna litera lub cyfra to wyświetla się error $monit_err, dopiero podanie minimum dwóch znaków przepuszcza, a chce by również przy jedej literze lub cyfrze.
Nawet gdy składania wygląda tak:
  1. "/^([a-z][a-z.0-9]*-?[a-z.0-9]*[a-z0-9]){1,15}$/i"
to też nic nie zmienia
johnson
powiem szczerze, ze nie za bardzo wiem co badasz w tym wyrazeniu, ale sytuacja, o ktorej piszesz wynika z tego, ze

  1. if (!preg_match("/^[a-z][a-z.0-9]*-?[a-z.0-9]*[a-z0-9]$/i", $_POST['local'])) { $monit_err[] = "- Nazwa locala zawiera niedozwolone znaki<BR>"; } else { }


[a-z] na poczatku oznacza, ze musi byc cos z zakresu a-z
[a-z0-9] oznacza, ze na koncu musi byc cos z zakresu a-z0-9

czyli razem minimum dwa znaki, w tym pierwszy to litera
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.