Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wyrażenia regularne, bądź też nie..., niby oczywiste a jak co do czego to klap
patigo
post
Post #1





Grupa: Zarejestrowani
Postów: 132
Pomógł: 0
Dołączył: 4.02.2005

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


Witam,
Mam trochę obawy co do słuszności poruszana tego tematu, ale szukałem co nie co i czuję pewien niedosyt, a w manualu już się pogubiłem. Będe wdzięczny za pomoc.

Chodzi o najprostsze weryfikacje danych pochodzących z formularzy, np:

-weryfikacja imienia i nazwiska wpisywanego do jednego "inputa" wzór np:
Adam Adamowicz (pamiętając o tym że nazwisko może być dwuczłonowe, lub ktoś może podać dwa imoina)

-weryfikacja kodu pocztowego i miejscowości np:
00-950, warszawa (pamiętajac że miasto może skałdać się z dwuch słów np zielona góra, lub drugi człon może być skrótem zakończony kropką np. Środa Wlkp.)

generalnie gubie się przy funkcjach eregi i preg_match oraz przy kożystaniu ze znaków specjalnych poza nawiasami kwadratowymi oraz w połączeniu z nimi.

np do weryfikacji kodu i miejscowości stworzyłem coś takiego:
  1. <?php
  2. preg_match( '/^[0-9]{2}-[0-9]{3},$[:alpha:][:space:][:alpha:]/', $kodmiejscowosc)
  3. ?>

ale niestety nie dziala mi to coś.

Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
crash
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

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


Nie wiem jak Ty tego używasz, zobacz (lekko zmodyfikowana):
  1. <?php
  2. $regex = '/^[0-9]{2}-[0-9]{3}, [\w]+[\w\-\. ]+?$/i';
  3.  
  4. var_dump( preg_match( $regex, '41-200, Sosnowiec' ) );  // int(1) - OK
  5. var_dump( preg_match( $regex, '41-20, Sosnowiec' ) ); // int(0) - Bad
  6. var_dump( preg_match( $regex, '41-200' ) ); // int(0) - Bad
  7. var_dump( preg_match( $regex, '41-20, 123' ) ); // int(0) - Bad
  8. var_dump( preg_match( $regex, '12-345, Gorzów Wlkp.' ) ); // int(1) - OK
  9. var_dump( preg_match( $regex, '54-321, Jakieś Miasto' ) ); // int(1) - OK
  10. var_dump( preg_match( $regex, '54-321, ' ) );  // int(0) - Bad
  11. var_dump( preg_match( $regex, '54-321, Nazwa-Myślnik' ) ); // int(1) - OK
  12. ?>
Go to the top of the page
+Quote Post

Posty w temacie


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: 4.10.2025 - 01:20