Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Eregi as preg_match
maro_a
post
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 1.02.2008

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


Potrzebuję zrobić funkcje która sprawdza czy wpisany tekst jest z zakresu cyfr a-z 0-9 i ma minimum 3 znaki max 8 ze znaków specjalnych dopuszcxzam -
zrobiłem to tak :
Kod
if( ! eregi( "^[a-z0-9]{3,8}" , $this->host ) )
             throw new Exception( "Nazwa musi składać się z 3 do 8 liter (bez polskich znaków) lub cyfr lub znaku "-"" , 1 );

Jednakże jak wpisze łłł to jest ok ale jak wpisze kisieł to już przepuszcza.
Po googlowałem trochę i dowidziałem się, że lepiej zastosować preg_match próbowałem to przerobić ale jakoś nie mogę sobie poradzić jak nie przyjmuje polskich liter to przyjmuje znaki specjalne, czytałem na manul ale jakoś nie mogę to dopasować więc proszę o pomoc bo z php nie jestem za mocny :/
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
webdice
post
Post #2


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




~maro_a pomyśl trochę, poszukaj, a nie oczekuj zawsze gotowego.

  1. <?php
  2. if(preg_match('#^[0-9abcdefghijklmnoprstuwxyz-]{3,8}$#', $this->host)) {
  3. echo 'OK';
  4. }
  5. ?>


Poza tym nie lepiej:

  1. <?php
  2. if(preg_match('#^[a-z0-9-]{3,8}$#', $this->host)) { // ewentualnie #^[a-zA-Z0-9-]{3,8}$# jeśli wielkie litery też mogą występować
  3. echo 'OK';
  4. }
  5. ?>


EDIT: Poprawiłem kod, forum wywaliło slashe.
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: 3.10.2025 - 04:15