Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: wyrażenie regularne
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
kaznodziej/ka
Witam

Mam pytanie dotyczące wyrażen regularnych.

Potrzebuje weyryfikować, czy podana liczba jest cyfrą z maksymalnie! dwoma miejscami po przecinku i czy zawiera kropkę jako znak przystankowy.

mam takie wyrażenie:
match(/^[0-9]+\.?[0-9]{2}$/)

które działa poprawnie...

tzn. jeśli podana liczba jest wprowadzona niepoprawnie...czyli - zawiera np.przecinek lub inny znak zamiast kropki i ma więcej niz dwa miejsca po przecinku stosuje odpowiedni komunikat

jednak jest pewien kłopot - wyrażenie nie pozwala na wpisanie liczby jedno lub dwucyfrowej...

Jak można to obejść?

próbowałam:
match(/^[0-9]+\.?[0-9]*-{2}$/)
match(/^[0-9]+\.?[0-9]?-{2}$/)
ale też tak:
match(/^[0-9]+\.?[0-9]{2}?$/)
match(/^[0-9]+\.?[0-9]{2}*$/)

nie pomogło.

Czy ktoś ma jakiś pomysł?

Pozdrawiam
kaznodziej/ka









fate
  1. /^([0-9]){0,}([\.]){0,1}([0-9]){0,2}$/


nie jestem ww tym dobry dlatego i na własne potrzeby robie to walacam masę nawiasów ale powinno działać, mozesz sobie pozastepowac te klamry znacznikami ktorych ja sie nie nauczyłem
http://regexp.pl/main/show/214139
http://regexp.pl/main/show/214138
b4rt3kk
  1. ^[0-9]+(\.[0-9]{1,2})?$
wNogachSpisz
Kod
[\d]{1,}(\.[\d]{1,2})?
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.