kropka89
31.08.2012, 10:16:07
Witam,
Próbuje napisać regexa dla przedziału liczb, lecz mam problem z literami i spacjami.
Ma przepuszczać następujące wzorce:
123 123 123 - 123 12 123 123
123 - 123123
Czyli
(Liczba z możliwymi spacjami) (rozdzielnik jako myślnik z możliwymi spacjami) (Liczba z możliwymi spacjami)
Ale jeśli pojawią się literki bądź inne znaczki poza liczbami spacjami i myślnikiem to już ma wywalać.
webdice
31.08.2012, 10:31:13
EDIT: Przeczytałem Twój temat jeszcze raz i nie wiem czy dobrze rozumiałem. Jeśli chcesz usunąć wszystko co nie jest cyfrą i pauzą to:
kropka89
31.08.2012, 10:36:01
ja to wstawiam pod form zendowy jako validator a tam pewnie dzial to na preg_matchu.
Chce tylko by sprawdzał czy dane zostały wpisane poprawnie. Czyli podał albo czystą liczbę albo przedział liczb.
Oba nie działają. I dlaczego dajesz limit na 3 znaki albo 6? Myślnik może być tylko jeden.
no_face
31.08.2012, 10:38:02
Wg mnie chyba chodzi mu o:
kropka89
31.08.2012, 11:22:22
Cytat(no_face @ 31.08.2012, 11:38:02 )

Wg mnie chyba chodzi mu o:
no tak ale pokazuje dopasowania dla stringa z literami. I jak już pisałem myślnik tylko raz a nie przynajmniej raz ale to szczegół. Ma nie znajdować żadnego dopasowania jeśli będą literki.
nospor
31.08.2012, 11:28:40
nie: preg_match("#[0-9 ]+[ \-]+[0-9 ]+#", $s, $r );
a: preg_match("#^[0-9 ]+[ \-]+[0-9 ]+$#", $s, $r );
Powinno załatwić sprawę liter
no_face
31.08.2012, 11:35:33
Modyfikacja dla max jednego myslnika:
preg_match("#^[0-9 ]+\-[0-9 ]+$#", $s, $r );
kropka89
31.08.2012, 12:58:09
no to sprawa załatwiona dla przedziału a dodatkowo potrzebne dla wersji bez przedziału czyli tylko liczba ze spacjami. To wszystko oczywiście w jednym regexie

A i jest różnica jak używałem zamiast hashy (#) to slashe (/) na poczatku i koncu?
no_face
31.08.2012, 13:08:27
Nie ma rozniicy jezeli chodzi o te "hashy (#) to slashe (/)" to sa delimitery i mozna korzystac z obu wersji.
Prosze:
#^[0-9 ]+\-?[0-9 ]+$#
kropka89
31.08.2012, 13:15:00
Cytat(no_face @ 31.08.2012, 14:08:27 )

Nie ma rozniicy jezeli chodzi o te "hashy (#) to slashe (/)" to sa delimitery i mozna korzystac z obu wersji.
Prosze:
#^[0-9 ]+\-?[0-9 ]+$#
a no faktycznie można i tak, chociaż ja myślalem żeby zastosować alternatywe:)
miałem prawie tak samo tyle że bez znaków początku i końca.
wielkie dzięki
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.