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

Może mi ktoś powiedzieć dlaczego takie wpisy spełniają tylko częściowo swoją rolę?
  1. if(!preg_match('/^([a-z0-9a-z]){1,14}$/',$nazwa)) { $monit_error[] = "- Proponowany identyfikator $nazwa zawiera niedozwolone znaki<BR>"; } else { }
  2. if(preg_match('/[0,1,2,3,4,5,6,7,8,9]$/',$nazwa)) { $monit_error[] = "- Proponowany identyfikator $nazwa nie może zawierać samych cyfr<BR>"; } else { }

Docelowo chciałem aby rezultat był następujący:
- dozwolona $nazwa może zawierać cyfry z zakresu 0-9 ale wyłącznie gdy znajduje się w niej minimum jedna litera
- zmienna $nazwa nie może zawierać samych cyfr.
- $nazwa miała minimum 1 znak i max 14 znaków

Noidea
Pewnie dałoby się to zapisać jednym, skomplikowanym wyrażeniem, tylko po co?

1. ctype_alnum lub preg_match - sprawdzasz czy $nazwa składa się wyłącznie z liter i/lub cyfr
2. strlen - sprawdzasz czy długość $nazwa mieści się w granicach od 1 do 14
3. preg_match - sprawdzasz czy w $nazwa znajduje się przynajmniej jedna litera

i jeśli potrzebujesz to jeszcze:
4. preg_match - sprawdzasz czyw $nazwa znajduje się przynajmniej jedna cyfra
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.