Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Wyrażenia regularne
Forum PHP.pl > Forum > Przedszkole
gylopl
Witam!
Chciałem przez formularz dodać do bazy nazwę, w której możliwe jest wpisanie spacji, a długość ciągu od 5 do 18 liter bez cyr.

mam cos takiego:

  1.  
  2. if (!eregi("^[[:alpha:]]{5,18}$", $nazwa)){
  3. $zaloz.='Podałeś złą nazwę. Od 5 do 18liter bez cyfr!';
  4. }else{
  5. }
  6.  


jak wpiszę np. Kubek tomka to jest błąd.

co zrobić zebym mógl wpisywać spację?

pozdrawiam
Wicepsik
Bo jest spacja w tekście "Kubek Tomka"
Użyj preg_match, eregi nie będzie w PHP6
seth-kk
[php]preg_match('/^[a-z ]{5,18}$/i, $nazwa]
tylko uwazaj na polskie znaki
gylopl
ok, dodalem tez polskie znaki, a jak dodac wszystkie znaki interpukcyjne?
mam cos takiego:
  1. preg_match('/^[a-zA-ZąćęłńóśźżĄĆĘŁŃÓŚŹŻ ]{5,18}$/i', $nazwa);

co dodac aby rozpoznawalo znaki interpukncyjne?
seth-kk
elementy ktore sa czescia skladni (http://pl.php.net/manual/en/regexp.reference.meta.php) musisz poprzedzic backslashem (\)
btw 'i' ktore masz na koncu wyrazenia powoduje ze jest ono case insensitive wiec wystarczy tylko wymienic male litery
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.