Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> kłopot z ereg [spacja]
dareckiphp
post
Post #1





Grupa: Zarejestrowani
Postów: 107
Pomógł: 0
Dołączył: 10.07.2003

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


Pomóżcie napisać mi eregi, gdzie waliduję nazwisko:
Napisałem tak:
  1. <?php
  2. if (eregi ('^[a-zęóąśłżźćń ]+$', $imie)){...}
  3. ?>

Musiałem dodać spację, ponieważ zawsze może być imie, np. Jan Maria....
Ale problem w tym, że user może wpisać tylko spację i to też zostanie zaakceptowane. Jak napisać walidację, żeby akceptowany był ten ciąg znaków, ale żeby na początku nie mogła pojawić się spacja lub jej wielokrotność.
dzięki
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
FiDO
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 717
Pomógł: 0
Dołączył: 12.06.2002
Skąd: Wolsztyn..... Studia: Zielona Góra

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


Cytat
- co oznacza znak "#" na początku

To jest ogranicznik wyrazenia regularnego. W wyrazeniach w formacie PCRE, czyli wszystkich ktorych uzywa sie w funkcjach preg_* sa zapisywane w postaci #wyrazenie#flagi
Znak ten moze byc prawie, ze dowolny, wiekszosci stosuje / (/wyrazenie/), mi sie spodobal akurat # (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Cytat
- znak + wewnątrz nawiasu ()

Znak + odnosi sie do poprzedniego elementu, ktorym jest klasa znaków [...] i oznacza, ze ten poprzedni element (w tym przypadku litera) musi wystapic co najmniej raz (no bo pustych imion nie uwzgledniamy).
Cytat
- no i wyrażenie ?$#i

Znak zapytania tyczy się nawiasu (bo wlasnie po nim sie znajduje) i znaczy on mniej wiecej tyle, ze to co jest w tym nawiasie jest opcjonalne, tzn moze wystapic ale nie musi (to jest drugie imie, ktore jak wiadomo nie musi wystapic, ale moze)
Dalej jadac mamy dolara, ktory znaczy ze w tym miejscu musi wystapic koniec stringa, czyli po imieniu (jednym lub dwoch) nie moze juz byc nic, nawet spacji.
Potem jest znowu # co znaczy, ze w tym miejscu konczy sie wyrazenie i dalej sa juz tylko flagi. Flaga i ustawia tryb case-insensitive, czyli taki, ze wielkosc liter nie ma znaczenia.
Cytat
Dzięki wielkie i sorry za upierdliwość, ale lubie wiedzieć co wypisują w skryptach.

Balem sie, ze nie zapytasz..
Bardzo dobrze, ze lubisz wiedziec, za to masz plusa (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 8.10.2025 - 01:57