Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] preg_match i akceptacja liter/cyfr/spacji etc.
messmaker
post
Post #1





Grupa: Zarejestrowani
Postów: 106
Pomógł: 5
Dołączył: 5.12.2008

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


Witam,

potrzebuję funkcji do filtrowania wprowadzanych przez użytkownika danych. Do tej pory mam:

Przepuszcza tylko litery:
  1. <?php
  2. if (preg_match("/[^A-z_-]/", $username)==1) { $errors++;  $errorlist .= "<br>W loginie znajdują się niedozwolone znaki.";  }
  3. ?>

Przepuszcza tylko litery i cyfry:
  1. <?php
  2. if (preg_match("/[^A-z0-9_-]/", $username)==1) { $errors++;  $errorlist .= "<br>W loginie znajdują się niedozwolone znaki.";  }
  3. ?>

Potrzebuję jeszcze wersji dla przepuszczania liter, cyfr i spacji i osobnej dla przepuszczania liter, cyfr, spacji i znaków nowej linii (najlepiej tak, żeby nie akceptowały tabulacji). Mile widziane gotowe rozwiązania, ale wskasówkami też nie pogardzę (IMG:http://forum.php.pl/style_emoticons/default/wstydnis.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
messmaker
post
Post #2





Grupa: Zarejestrowani
Postów: 106
Pomógł: 5
Dołączył: 5.12.2008

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


(IMG:http://forum.php.pl/style_emoticons/default/ohmy.gif) pierwsze widzę, żeby interpretacja PHP zależała od systemu. Tak czy inaczej działa - wielkie dzięki! (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

ostateczna wersja to:
  1. <?php
  2. $username = 'tra tra
  3. ';
  4. if (!preg_match("/^[-0-9A-Z_ @sr\n]+$/i", $username) && !preg_match("/^[-0-9A-Z_ @s\n]+$/i", $username)) {
  5. echo 'W loginie znajdują się niedozwolone znaki';
  6.  
  7. ?>



EDIT: windows ma \r\n bankowo (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Ten post edytował messmaker 12.07.2009, 12:41:38
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: 4.10.2025 - 23:22