Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Wyrażenie regularne.
Forum PHP.pl > Forum > Przedszkole
KoPcIu
Witam! Wyrażenia regularne od zawsze sprawialy mi problemy. Ostatnie czasy ciągle próbuję napisać prosta(bardzo prosta) funkcje, która sprawdzi czy dany ciąg posiada tylko i wyłącznie znaki A-Z (wielkie i male), liczby 0-9 jak i znak "_". Wiele stron opisuje te wyrażenia, lecz żaden z przykładów nie chce mi działać poprawnie...

Aktualnie doszedłem do:
  1. /[0-9\_\A-Z\a-z]/


Lecz niestety powyższy przykład przepuszcza także znaki kropki itd.

Pozdrawiam!
kamillo121
Nie wiem może pomoże, ja w preg_match mam tak /^[a-zA-Z0-9\_]{1,}$/
lord2105
Dla początkujących z wyrażeniami regularnymi polecam:

http://txt2re.com/
Crozin
Tak się składa, że akurat w PCRE jest takie fajne coś jak: \w, które odpowiada właśnie grupie znaków, których potrzebujesz. Dodatkowo powinieneś oznaczyć początek (^) i koniec ($) ciągu. Aha... a więcej niż jeden to po prostu +. Po czym kończymy z bardzo prostym wyrażeniem:
Kod
/^[\w]+$
everth
^ oznacza też zaprzeczenie jeśli jest użyte w nawiasach klamrowych. Jeśli chciałbyś sprawdzić czy ciąg zawiera tylko podane przez ciebie litery i żadnych znaków specjalnych to:
  1. if (preg_match('/[^a-zA-Z0-9_]+/,$twojtext)==0) echo 'Ciąg jest czysty';
Pawel_W
Cytat(everth @ 20.08.2010, 15:07:52 ) *
^ oznacza też zaprzeczenie jeśli jest użyte w nawiasach klamrowych. Jeśli chciałbyś sprawdzić czy ciąg zawiera tylko podane przez ciebie litery i żadnych znaków specjalnych to:
  1. if (preg_match('/[^a-zA-Z0-9_]+/,$twojtext)==0) echo 'Ciąg jest czysty';

po 1: nie w klamrowych, tylko kwadratowych
po 2: co ty za kod podajesz!? przeczytałeś chociaż pierwszy post?
po 3: http://pl.wikibooks.org/wiki/PHP/Podstawy_...%84_regularnych
everth
  1. Literówki się trafiają - zresztą rzut oka na kod
  2. Cytat
    Ostatnie czasy ciągle próbuję napisać prosta(bardzo prosta) funkcje, która sprawdzi czy dany ciąg posiada tylko i wyłącznie znaki A-Z (wielkie i male), liczby 0-9 jak i znak "_"

    Jeśli powyższy kod nie spełnia warunków to bardzo przepraszam. Czasem ciężko zrozumieć co autor miał na myśli winksmiley.jpg
  3. Jak już to wolę to
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.