Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]walidacja kodu pocztowego
Forum PHP.pl > Forum > Przedszkole
dado
Coś nie coś z tego kumam ale widać nie wystarczająco.
Wyrażenie do sprawdzania poprawności polskiego kodu pocztowego wydziabałem takie:
  1. [0-9]{2}-[0-9]{3}
Problem w tym że gdy waliduję taki kod pocztowy: 34-400dksfgldkf to i tak eregi" title="Zobacz w manualu PHP" target="_manual zwraca że jest poprawny
mimo że ograniczam drugi człon {3}. Wie ktoś co robię nie tak?
b_chmura
podpowiedź: {od,do}
nexis
  1. <?php
  2. $pattern = '^[0-9]{2,2}-[0-9]{3,3}$';
  3. ?>
phpion
Cytat(b_chmura @ 17.11.2007, 12:23:43 ) *
podpowiedź: {od,do}

No i?

Wg mnie problemem jest to, że nie oznaczyłeś początku oraz końca wzorca. Zmień go na:
Kod
^[0-9]{2}-[0-9]{3}$


Aj, ~nexis był szybszy smile.gif
b_chmura
Cytat(phpion.com @ 17.11.2007, 10:29:32 ) *
No i?


"no i" to ze podał tylko jeden argument w klamerkach
phpion
Cytat(b_chmura @ 17.11.2007, 12:40:20 ) *
"no i" to ze podał tylko jeden argument w klamerkach

No i co z tego? Przecież, pomijając brak ^ oraz $, wyrażenie jest poprawne i działa. Podając jedną wartość w klamrach określasz konkretną liczbę wystąpień znaku. {3} jest tożsame z {3,3} ale po co określać minimalną oraz maksymalnę liczbę wystąpień skoro i tak z góry wiadomo ile takich znaków powinno być?

Odnosząc do PHP: ja wolę napisać if (strlen($zmienna) == 3), natomiasty Ty wolisz if (strlen($zmienna) >= 3 && strlen($zmienna) <= 3). Oba zadziałają ale kwestią jest czy jest sens pisać warunek Twoim sposobem...
b_chmura
w takim razie przepraszam za wprowadzenie w błąd

pozdrawiam
Chmura
dado
Oki panowie dziękuję za odpowiedź jutro z ranka zasiądę do roboty i podam jak w końcu wyszło. WIELKIE DZIęKI
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.