Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Wyrażenie regularne
todaro
post
Post #1





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 4.11.2007

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


Mam w skrypcie rejestracji takie wyrażenie regularne:

  1. <?php
  2. ^[a-zA-Z0-9]+$
  3. ?>


Chciałbym, aby oprócz liter i cyfr można było użyć jeszcze spacji.

Udało mi się zrobić coś takiego:

  1. <?php
  2. if ((!ereg("^[a-zA-Z0-9]+$", $user))&&(!ereg("[^\ns]*", $user)))
  3. ?>


Dałoby się bez tej alternatywy?

Ten post edytował todaro 25.06.2008, 16:02:56
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #2





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Orłem nie jestem regex, ale:
  1. <?php
  2. $regex="^[a-zA-Z0-9s\n]+$";
  3. ?>

powinno działać (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Pozdrawiam
Go to the top of the page
+Quote Post
todaro
post
Post #3





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 4.11.2007

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


Cytat(Cysiaczek @ 25.06.2008, 17:10:37 ) *
Orłem nie jestem regex, ale:
  1. <?php
  2. $regex=&#092;"^[a-zA-Z0-9s\n]+$\";
  3. ?>

powinno działać (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Pozdrawiam


Właśnie w ten sposób nie działa mi to.
Go to the top of the page
+Quote Post
cbagov
post
Post #4





Grupa: Zarejestrowani
Postów: 181
Pomógł: 18
Dołączył: 19.04.2008

Ostrzeżenie: (10%)
X----


if( preg_match ('/^[a-zA-Z0-9 ]+?$/', $user))

a jesli nie przeszkadza ci _ w nicku to mozesz zamienic to co w [] na [\w]
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #5





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




No wstawienie spacji recznie to tez jakieś rozwiązanie. Aby tamte \s działało, to serwer musi być odpowiednio skonfigurowany

Cytat
If a pattern is compiled with the PCRE_EXTENDED option, whitespace in the pattern (other than in a character class) and characters between a "#" outside a character class and the next newline character are ignored. An escaping backslash can be used to include a whitespace or "#" character as part of the pattern.
Go to the top of the page
+Quote Post
cbagov
post
Post #6





Grupa: Zarejestrowani
Postów: 181
Pomógł: 18
Dołączył: 19.04.2008

Ostrzeżenie: (10%)
X----


tyle, ze \s to nie tylko spacje..

Ps. tu chyba nie chodzi o konfiguracje serwera a kompilacje regexp, zreszta nie spotkalem jeszcze od X lat takiego, ktory by mi tego nie wykonal :-\

Ten post edytował cbagov 25.06.2008, 19:56:02
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #7





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Jasne, że nie, ale i tak nie działa bez specyficznej konfiguracji (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

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: 24.08.2025 - 15:39