Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PCRE] Polskie znaki i brak spacji
Forum PHP.pl > Forum > PHP
kezard
Witam!

Napisałem sobie proste wyrażenie które ma mi sprawdzać poprawno¶ć loginu z formularza :

  1. "/[0-9a-zA-Z_]{4,20} /"


Męczę się i nie potrafię zrobić aby ci±g nie akceptował polskich znaków i spacji, a na internecie nic nie mogę znaleĽć. Proszę o pomoc winksmiley.jpg
wookieb
  1. preg_match('/^\w{4,20}$/', $ciag)
kezard
Dziekuje za odpowiedĽ, działa smile.gif

Chciałbym jeszcze zrozumieć jak to działa. '^\w' zaprzecza wszystkim znakom z '\w', wiec dlaczego moge ich uzywac ? i po co $ na koncu w tym wypadku?
wookieb
Nie
^ oznacza pocz±tek ci±gu (negacja byłaby w takim przypadku [^\w])
$ oznacza koniec ci±gu
\w jest to klasa znaków [a-zA-Z0-9_]
Kshyhoo
Tu masz bardziej skomplikowany przykład:
  1. if (!preg_match('/^([A-ZĆÓŁ¦Ż¬]{1})([a-zA-Z±¶żĽćęńłóˇ¦Ż¬ĆŃŁÓ0-9_-]{2,11})$/', $login)) {

Login ( 3-12 znaków: a-z, A-Z, 0-9, -, _ (w tym polskie), pocz±tek duż± liter± ( w tym ĆÓŁ¦Ż¬ ) .
Pamiętaj, że znak "-" musi być na pierwszym lub ostatnim miejscu.
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.