Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wyrażenia regularne
Forum PHP.pl > Forum > Przedszkole
darektbg
Witam !
Tworząc pewien projekt natchąłem się na pewien problem w wyrażeniami regularnymi.
  1. <?php
  2. if(!ereg("^[A-Z][[:lower:]]$", $_POST['nazwisko']))
  3. $blad="Pierwsza litera nazwiska powinna być duża, każda następna mała, np.: Nowak,
     Kowalski"
    ;
  4. else
  5. {
  6. //dodaje do bazy
  7. }
  8. ?>

Według tego kodu jeżeli "nazwisko" składa się z pierwszej litery dużej, każda następna to mała, to dodaje imie do bazy, w przeciwnym wypadku ustawia zmienną $blad, a następnie ją wyświetla. Kod działa poprawnie, tz. gdy zmienna $_POST['nazwisko'] ma wartość np.: Jan imie zostaje dodane do bazy. Problem pojawia się gdy zmienna $_POST['nazwisko'] zawiera polskie znaki, np.: Ćwierz. Wtedy nazwisko już nie zostaje dodane do bazy, tylko ustawiana jest zmienna $blad.

Pozdrawiam
Darektbg
qlash
  1. <?php
  2. if(!ereg("^[A-ZĘÓĄŚŁŻŹĆŃ]{1}[a-zęóąśłżźćń]{2,}$", $_POST['nazwisko']))
  3. echo "Pierwsza litera nazwiska powinna być duża, każda następna mała, np.: Nowak, Kowalski";
  4. ?>


edit powyzszy zapis łyknie każde nazw zaczynajace sie wielka litera, po ktorym MUSZA nastapic minimum 2 małe..
Adiasz
Cytat(darektbg @ 14.10.2006, 12:41:00 ) *
Według tego kodu jeżeli "nazwisko" składa się z pierwszej litery dużej, każda następna to mała, to dodaje imie do bazy, w przeciwnym wypadku ustawia zmienną $blad, a następnie ją wyświetla. Kod działa poprawnie, tz. gdy zmienna $_POST['nazwisko'] ma wartość np.: Jan imie zostaje dodane do bazy. Problem pojawia się gdy zmienna $_POST['nazwisko'] zawiera polskie znaki, np.: Ćwierz. Wtedy nazwisko już nie zostaje dodane do bazy, tylko ustawiana jest zmienna $blad.

wszystkie regexpy ([0-9],alnum itp) nie lapia plskich znakow wiec musisz je dodac do zbioru jak to pokazane jest w poscie wyzszym
darektbg
Witam !
Sprawdzone, działa, dzięki winksmiley.jpg

Pozdrawiam
Darektbg
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.