@girlsaddi: Po pierwsze musisz zrobić wyrażenie regularne aby sprawdzić czy format jest prawidłowy, jak format jest prawidłowy musisz sprawdzić czy dany dzień i miesiąc jest prawidłowy (np. czy ktoś nie wpisał 31 lutego), czy godzina nie jest zbyt duża etc. Czyli najpierw proste wyrażenie sprawdzające czy format jest ok, a następnie rozbijasz sobie wartość na poszczególne wartości np.
//najpierw test czy format jest ok dopiero to co niżej const [date, time] = val.split('
@ddiazepam: Skoro format ma być dd:mm:yyyy hh:mm - ss to liczba spacji jest stała i zaznaczyłem, że regex najpierw do testu, no i technicznie można po prostu regexpem wszystko wyciągnąć, ale mi się nie chcę go pisać.
@girlsaddi: oczywiście to jest bez jakiejś sensownej walidacji bo przejdzie 33:33:33 33:33 - fdd to można oczywiście ogarnąć tylko regex będzie bardziej skomplikowany
@girlsaddi: a tu masz jak nie pozwolić aby ktoś wpisał większy miesiąc niż 12 i dzień 31 https://regex101.com/r/Wt3S1J/3 można podobnie zrobić dla godzin/minut ale już mi się nie chcę :)
@mk321: nie trzeba, ale można i wtedy nie musisz później walidować np. miesiąca albo gdy jest oczywisty błąd w dacie. To są po prostu rzeczy które ułatwiają nieco.
mam zwykłego inputa tekstowego i chciałbym wprowadzić w nim walidację
dd:mm:yyyy hh:mm - ss
gdzie
dd - to numery (dnia)
mm - to miesiac
yyyy - to rok
hh - godzina
mm -minuta
ss - dowolne 2 litery
jak się za to zabrać?
Jednak wyobraź sobie jak mało wygodne będzie korzystanie z takiego pola. Aby było wygodnie polecam coś tego rodzaju https://flatpickr.js.org/examples/
Po pierwsze musisz zrobić wyrażenie regularne aby sprawdzić czy format jest prawidłowy, jak format jest prawidłowy musisz sprawdzić czy dany dzień i miesiąc jest prawidłowy (np. czy ktoś nie wpisał 31 lutego), czy godzina nie jest zbyt duża etc. Czyli najpierw proste wyrażenie sprawdzające czy format jest ok, a następnie rozbijasz sobie wartość na poszczególne wartości np.
//najpierw test czy format jest ok dopiero to co niżej
const [date, time] = val.split('
Komentarz usunięty przez autora
Dodanie tego do regexpa nic nie daje, a tylko utrudnia czytelność regexpa i powoduje większe ryzyko błędu w nim.