Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: sprawdzanie znaków
Forum PHP.pl > Forum > PHP
Robert007
Czy jest jakaś funkcja co sprawdza czy są znaki dozwolone od 'a' do 'z' w danej zmiennej np $wyraz ?
chodzi mi dokładniej o warunek jak zrobić by można nazwę wpisać tylko od a do z bez znaków specjalnych jak np $%^&*
erix
A zajrzałeś kiedyś do preg_match" title="Zobacz w manualu PHP" target="_manual...?
Robert007
jak to dokładnie działa?


  1. <?php
  2. tekst = "noamsdk218sa1)&*";
  3. preg_match('co tu wpisać by sprawdzało czy są tylko litery od a-z i liczby?', $tekst);
  4. ?>



potrzebuje tego aby zwracało mi true i false czyli że jeżeli w tekście jest coś innego niż litery lub liczby to aby zwróciło mi false
erix
Tak, że potrzebujesz wzorca, który jest opisany w każdym kursie opatrzonym frazą wyrażenia regularne.
kurczak610
Ja używam czegoś takiego:

  1. <?php
  2. $login = 1234aed;
  3. if (! ereg ("^[0-9]*$", $login)) echo "Login moze składać się tylko z cyfr 0-9<br>";
  4. ?>
erix
Z ereg* się już nie powinno korzystać.
Robert007
Cytat
Z ereg* się już nie powinno korzystać.


dlaczego?


kurczak610, a jak zrobić by jeszcze w loginie można byłoby dawać litery od a-z questionmark.gif
erix
Bo w PHP6 zostaną usunięte.

2: napisałem, gdzie sprawdzić, rusz trochę palcami. tongue.gif
Robert007
to będzie coś takiego ?

  1. <?php
  2. ^[a-z0-9]*$
  3. ?>
erix
A nie możesz z łaski swojej wypróbować? tongue.gif

PS. Pamiętaj, że to nie uwzględnia wielkich liter.
kurczak610
  1. <?php
  2. if (! ereg ("^[0-9a-zA-Z]*$"
  3. ?>

Możesz teraz mieć w loginie cyfry 0-9, małe literki a-z i duże literki A-Z innych nie wpiszesz winksmiley.jpg
Robert007
Cytat
A nie możesz z łaski swojej wypróbować?


wole mieć pewność bo pierwszy raz tego używam i za bardzo nie wiedziałem o co chodziło tongue.gif
kurczak610, ok dzięki.

a czy da się z wykorzystaniem array ? np pojedyńczych znaków np. < > [ ] *
kurczak610
Nigdy nie potrzebne mi były >< itp.
Jeżeli o to ci chodziło to wpisz sobie tam np. >
Np.
  1. <?php
  2. $login = 'abc<>';
  3. if (! ereg ("^[a-z<>]*$", $login)) echo "Login moze składać się tylko z cyfr 0-9<br>";
  4. else
  5. echo "Login jest OK";
  6. ?>
erix
Ereg w PHP6 już nie będzie, tak gwoli ścisłości.
Robert007
Cytat(erix @ 2.07.2009, 21:47:21 ) *
Ereg w PHP6 już nie będzie, tak gwoli ścisłości.


a jeżeli tego nie będzie to najlepiej użyć tego co podałeś w drugim poście questionmark.gif
tylko czy to tak samo działa??
erix
A google gryzie? Wykłuwa oczy? Uderza jak Spartanie?
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.