Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Wyrażenie regularne, problem z przekształceniem
kidd
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 17.02.2007

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


Witam. Napisałem sobie pattern do regexp'a.
  1. <? $pattern = '/^[A-Z]{1}[a-z]+$/'; ?>

Ma on sprawdzać czy zmienna jest zgodna z wzorcem Imienia. Wg mojego rozwiązania jest one sprawdzane w ten sposób:
- pierwsza litera musi być duża
- może ona wystąpić tylko raz na początku zmiennej
- reszta liter musi być mała
- mała litera musi wystąpić przynajmniej raz

A chciałbym żeby były dopuszczane Imiona wieloczłonowe np. 'Moje Imie'.
Go to the top of the page
+Quote Post
pr0kt0r
post
Post #2





Grupa: Zarejestrowani
Postów: 35
Pomógł: 1
Dołączył: 1.12.2006

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


  1. <? $pattern = '/^[A-Z]{1}[a-z]+(s)+(w)+/'; ?>


Dawno, dawno nie uzywalem wzorców tekstowych, sprawdzać też nie sprawdzałem więc może być błąd.

Ten post edytował pr0kt0r 17.02.2007, 16:02:29
Go to the top of the page
+Quote Post
mdco
post
Post #3





Grupa: Zarejestrowani
Postów: 324
Pomógł: 5
Dołączył: 14.12.2004

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


Ja bym zrobił tak:
  1. <?php
  2. $pattern = '/^[A-Z]{1}[a-z]+[sA-Za-z]*/';
  3. ?>


I jeszcze jedna uwaga - do zbioru liter dodaj jeszcze polskie litery bo zbiory A-Z czy a-z nie obejmują polskich liter.


--------------------
zmoderowano - rozmiar
Go to the top of the page
+Quote Post
tomaszdurka
post
Post #4





Grupa: Zarejestrowani
Postów: 32
Pomógł: 1
Dołączył: 12.02.2007

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


W sumie ta jedynka ({1}) jest niepotrzebna.

  1. <?php
  2. $pattern = '/^[A-ZĄŻŹŚĘĆŃÓŁ][a-zążźśęćńół]+$/';
  3. ?>
Go to the top of the page
+Quote Post
Kicok
post
Post #5





Grupa: Zarejestrowani
Postów: 1 033
Pomógł: 125
Dołączył: 17.09.2005
Skąd: Żywiec

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


  1. <?php
  2. $pattern = '/^[A-ZĄŻŹŚĘĆŃÓŁ][a-zążźśęćńół]+(s[A-ZĄŻŹŚĘĆŃÓŁ][a-zążźśęćńół]+)*$/';
  3. ?>


Każdy człon imienia musi być napisany z wielkiej litery (reszta liter członu ma być mała) oraz ma być oddzielony od innych członów jednym znakiem białym (np. spacja). Musi występować co najmniej jeden człon imienia.


--------------------
"Sumienie mam czyste, bo nieużywane."
Go to the top of the page
+Quote Post
kidd
post
Post #6





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 17.02.2007

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


Pattern Kickok'a działa wyśmienicie. O to chodziło. Dzięki.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 21.08.2025 - 17:04