Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] wyrażenie regularne, sprawdzenie obecności cyfr, liter oraz "-" i "_"
Maq2007
post
Post #1





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 27.06.2007

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


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 (IMG:http://forum.php.pl/style_emoticons/default/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

Ten post edytował Maq2007 28.07.2007, 08:06:04
Go to the top of the page
+Quote Post
Kicok
post
Post #2





Grupa: Zarejestrowani
Postów: 1 033
Pomógł: 125
Dołączył: 17.09.2005
Skąd: Żywiec

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


^ - 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.
Go to the top of the page
+Quote Post
Maq2007
post
Post #3





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 27.06.2007

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


Takie coś to ja znajdę w pierwszym lepszym kursie, tylko jak to zlać w kupe (IMG:http://forum.php.pl/style_emoticons/default/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.
Go to the top of the page
+Quote Post
Kicok
post
Post #4





Grupa: Zarejestrowani
Postów: 1 033
Pomógł: 125
Dołączył: 17.09.2005
Skąd: Żywiec

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


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? :|

Ten post edytował Kicok 28.07.2007, 09:11:56
Go to the top of the page
+Quote Post
Maq2007
post
Post #5





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 27.06.2007

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


Tak, mniej więcej oto mi chodziło...
Z tym że nadal mam problem ze skonstruowaniem wyrażenia (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

Co do przecinków to na webhelpie znalazłem przykład gdzie stosują przecinki i dlatego użyłem je (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
http://php.webhelp.pl/index.php?id=32&...&ac=readtut
Go to the top of the page
+Quote Post
Kicok
post
Post #6





Grupa: Zarejestrowani
Postów: 1 033
Pomógł: 125
Dołączył: 17.09.2005
Skąd: Żywiec

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


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ć.
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: 23.08.2025 - 16:52