Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wyrażenie regularne
Forum PHP.pl > Forum > PHP
kidd
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'.
pr0kt0r
  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.
mdco
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.
tomaszdurka
W sumie ta jedynka ({1}) jest niepotrzebna.

  1. <?php
  2. $pattern = '/^[A-ZĄŻŹŚĘĆŃÓŁ][a-zążźśęćńół]+$/';
  3. ?>
Kicok
  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.
kidd
Pattern Kickok'a działa wyśmienicie. O to chodziło. 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.