Regex Javascript: walidacja double / float
Oto wzór, nad którym pracuję:
var re = /(\d{1,2}\.(?=\d{1,2}))/;
To, co chciałbym, aby to powróciło, to liczba jedno- lub dwucyfrowa (która nigdy nie będzie większa niż 24, ponieważ dotyczy aplikacji czasu mgmt), po której może następować kropka dziesiętna z jednym lub dwoma cyfry końcowe, ale nie więcej niż dwa.
Nie jestem pewien co do dopasowania podciągów w nawiasach okrągłych zmieszanych z poprzednikiem. Właśnie je odgadłem i zagnieździłem. Ostatecznie, jeśli moja składnia jest w porządku, myślę, że jedyną rzeczą, której mi brakuje, jest zasugerowanie, że wzorzec może lub nie może zawierać wiodących cyfr i może zawierać lub nie dziesiętny z próbnymi cyframi.
Daj mi znać, jeśli potrzebujesz więcej informacji.
Aktualizacja, przykłady:
Mamy do czynienia tylko z czasem i nie więcej niż może to nastąpić w ciągu jednego dnia. 24 będzie najwyższym wejściem.
Ważny:
23.75
1.4
1
0.5
0
.2
Nieważny:
1.897
%#$#@$#
Words
other characters
Najnowsza aktualizacja:
Ponieważ jest to liczba dziesiętna, działa 23,75. Nie liczymy minut, a raczej ułamków godzin.
Również dla rekordu próbowałem sprawdzać poprawność przy użyciu metod i warunków warunkowych, a to pozwalało literom przechodzić po miejscach dziesiętnych. Podjąłem decyzję o przejściu na regex.