Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] wyrażenie regularne
Forum PHP.pl > Forum > Przedszkole
Maq2007
Witam,

trochę próbowałem pobawić się za pomocą wyrażeń regularnych aby mi sprawdzało przez preg_match poprawność wprowadzonego tekstu i jakoś mi nie wychodzi tongue.gif
Dlatego też prosiłbym aby ktoś napisał mi jak powinno wyglądać prawidłowe wyrażenie regularne które by przepuszczało jedynie tekst w którym znajdują się cyfry i litery oraz znaki "-" i "_", z tym że te znaki nie mogą się znajdować na początku, ani na samym końcu.
Oczywiście gdy w wyrażeniu znajduje się jakikolwiek inny znak to ma wywalać false ;]

Z góry wielkie dzięki za pomoc
Kicok
^ - oznacza początek tekstu
[a-zA-Z0-9] - oznacza małe i wielkie litery oraz cyfry
[a-zA-Z0-9_-] - oznacza małe i wielkie litery, cyfry, "_" oraz "-"
* - oznacza że dany element może wystąpić dowolną ilość razy (zero lub więcej)
[a-zA-Z0-9] - patrz wyżej
$ - oznacza koniec tekstu

Do tego preg_match" title="Zobacz w manualu PHP" target="_manual i sprawa załatwiona.
Maq2007
Takie coś to ja znajdę w pierwszym lepszym kursie, tylko jak to zlać w kupe biggrin.gif

Wczoraj wymodziłem już takie coś:

/^[0-9,a-z,A-Z,-,_]$/

ale coś nie chce działać, do tego nie załatwia to sprawy występowania znaków "-" oraz "_" na początku oraz końcu wyrażenia.
Kicok
Po pierwsze zastanów się co chcesz znaleźć. O ile dobrze Cię zrozumiałem to:
"Na początku tekstu ma się znaleźć litera lub cyfra (a nie "_" ani "-"), po której ma być dowolna ilość liter, cyfr, "_" oraz "-", a na samym końcu tekstu ma być jeszcze litera albo cyfra (a nie "_" ani "-")"

Teraz porównaj sobie to z moim powyższym postem, to zauważysz, że dostałeś praktycznie gotowca.


PS. Skąd ci się te przecinki wzięły w klasie snaków? :|
Maq2007
Tak, mniej więcej oto mi chodziło...
Z tym że nadal mam problem ze skonstruowaniem wyrażenia tongue.gif

Co do przecinków to na webhelpie znalazłem przykład gdzie stosują przecinki i dlatego użyłem je tongue.gif
http://php.webhelp.pl/index.php?id=32&...&ac=readtut
Kicok
Z całym szacunkiem dla Pani Kamili Urbaniak, ale wyrażenie do walidacji emaili które ułożyła to o kant d... rozbić ;] I to nie tylko dlatego, że uzna kowalski@serwer.info za nieprawidłowy adres email. Składnia wyrażenia (czyli m.in. te przecinki ;]) też pozostawia wiele do życzenia.

Na googlach można znaleźć wiele ciekawych kursów wyrażeń regularnych (np.: http://grabun.com/wyrazenia-regularne/ ), radzę poczytać.
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.