Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Problem preg_match
kaszanka
post
Post #1





Grupa: Zarejestrowani
Postów: 138
Pomógł: 1
Dołączył: 17.02.2007

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
johnson
post
Post #2





Grupa: Zarejestrowani
Postów: 90
Pomógł: 2
Dołączył: 3.12.2004

Ostrzeżenie: (0%)
-----


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

Ten post edytował johnson 16.12.2009, 16:42:17
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 25.09.2025 - 19:21