Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Wyrażenie regularne (Imię i nazwisko)
Forum PHP.pl > Forum > Przedszkole
peja1990
Witam,
czy jest kto¶ w stanie pomóc mi przy utworzeniu wyrażenia regularnego dla walidacji pola Imię i nazwisko w formularzu PHP ?
Struktura poprawnie wypełnionego pola to "Jan Kowalski", żadna inna struktura nie może przej¶ć.

Moje aktualne wyrażenie regularne:
  1. preg_match("/^[A-ZˇĘÓŁ¦Ż¬ĆŃ]{1}[a-z±ęół¶żĽćń]{1,30}[ ][A-ZˇĘÓŁ¦Ż¬ĆŃ]{1}[a-z±ęół¶żĽćń]{1,30}$/", $value)


Wszystko byłoby fajnie ale np. taka warto¶ć jak "Bartosz ٱcki" nie przejdzie, ale już "Bartosz L±cki" przejdzie...

Będę wdzięczny za wszelk± pomoc,
serdecznie pozdrawiam.

EDIT:
[A-ZˇĘÓŁ¦Ż¬ĆŃ]{1}
zamieniłem na:
[A-ZˇĘÓŁ¦Ż¬ĆŃ]{1,6}
gdyż uznałem, że polski znak może być zamieniany na znak diaktryczny i np. literka "Ł" nie będzie miała długo¶ci jednego znaku ale już 6 znaków ( & # 3 2 1 ; ).
Czy według Was jest to dobrym rozwi±zaniem ?

Może to wina kodowania plików choć nie s±dzę...
W pliku z formularzem mam ustawione kodowanie na ANSI a w pliku, gdzie trzymam funkcję waliduj±c± formularz mam kodowanie UTF-8 (bez BOM).
A według Was czy to może być tego przyczyn± ?
Wicio
Ł nie jest równe ł, w wyrażeniu masz podane ł, a nie Ł. Przynajmniej tak mi się wydaję.
alegorn
wyrazenia regularne maja problem z znakami narodowymi.

o ile pamietam, rozwiazaniem na to jest odpowiednie skompilowanie biblioteki.

j.

ps a co z nazwiskami wieloczlonowymi?
peja1990
Cytat(Wicio @ 19.05.2012, 07:53:24 ) *
Ł nie jest równe ł, w wyrażeniu masz podane ł, a nie Ł. Przynajmniej tak mi się wydaję.


Kolego przyjrzyj się dobrze, bo chyba się mylisz smile.gif

Cytat(alegorn @ 19.05.2012, 09:24:51 ) *
wyrazenia regularne maja problem z znakami narodowymi.

o ile pamietam, rozwiazaniem na to jest odpowiednie skompilowanie biblioteki.

j.

ps a co z nazwiskami wieloczlonowymi?


Co masz na my¶li pisz±c o nawiasach wieloczłonowych ? Szczerze mówi±c nie spotkałem się dotychczas z tego typu okre¶leniem.
k_@_m_i_l
Nazwiska wieloczłonowe, czyli przykładowo Kowalska-Jankowska itd.
peja1990
Cytat(k_@_m_i_l @ 19.05.2012, 15:46:01 ) *
Nazwiska wieloczłonowe, czyli przykładowo Kowalska-Jankowska itd.


Przepraszam... ¬le przeczytałem smile.gif
Fakt, takie również istniej± ale tym zajmę się w kolejnym etapie walidatora smile.gif
Póki co nie mam jeszcze w 100% dobrego wyrażenia reg.

Kombinuję z:
  1. setlocale(LC_ALL, 'pl_PL');

  1. iconv("ISO-8859-2", "UTF-8", $value);


Ale wci±ż brak konkretnego efektu...
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.