• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Przeliczanie na podstawie danych z formularza (wyrażenia regularne)

Object Storage Arubacloud
0 głosów
94 wizyt
pytanie zadane 11 lutego 2020 w JavaScript przez adikpl Użytkownik (660 p.)
zamknięte 11 lutego 2020 przez adikpl

Witajcie!

Potrzebuje pomocy przy ułożeniu kodu, który pozwoli na obliczenie czasu przebytej drogi na podstawie podanej prędkości oraz dystansu. 

 

Bardzo proszę o pomoc!

if(/^[a-zA-ZąćęłńóśźżĄĘŁŃÓŚŹŻ]{3,}\s+[a-zA-ZąćęłńóśźżĄĘŁŃÓŚŹŻ]{3,}$/.test(n) == false)
                {
                    n_e.innerHTML="Podano błędne dane";
                    //return false;
                }
                else if (/^[0-9]{1,}\s+(km|m|cm|mm)+\/+(h|min|s)$/.test(v) == false) 
                {
                    s_e.innerHTML="Podano błędne dane";
                    //return false;
                }
                else if(/^[0-9]{1,}\s+(km|m|cm|mm)$/.test(s) == false)
                {
                    d_e.innerHTML="Podano błędne dane";
                    //return false;
                }
                else if(/^(0?[1-9]|[12][0-9]|3[01])[\/\-](0?[1-9]|1[012])[\/\-]\d{4}$/.test(t) == false)
                {
                    t_e.innerHTML="Podano błędne dane. Format daty: DD/MM/YYYY";
                    //return false;
                }
                else if(/^[0-9]{1,}\s+(km)+\/+(h)/.test(v) == true)
                {
                    if(/^[0-9]{1,}\s+(km)/.test(v) == true)
                    {
                        v = parseInt(v);
                    }
                    else if(/^[0-9]{1,}\s+(m)/.test(v) == true)
                    {
                        v = parseInt(v);
                        v = v*0.001;
                    }
                    else if(/^[0-9]{1,}\s+(cm)/.test(v) == true)
                    {
                        v = parseInt(v);
                        v = v*0.00001;
                    }
                    else if(/^[0-9]{1,}\s+(mm)/.test(v) == true)
                    {
                        v = parseInt(v);
                        v = v*0,000001;
                    }
                }
            }

            result = v/s;

 

komentarz zamknięcia: delete
komentarz 11 lutego 2020 przez Chess Szeryf (76,710 p.)
Podaj dane testowe.
komentarz 11 lutego 2020 przez adikpl Użytkownik (660 p.)
10 km/h

10 km

1 odpowiedź

0 głosów
odpowiedź 11 lutego 2020 przez Tomek Sochacki Ekspert (227,510 p.)
oj nie podobają mi się te regexp... nie chodzi o to, że są złe czy coś, szczerze to nie analizowałem ich dokładnie ale sama ich ilość w tych if itp. nie jest chyba najlepszym wyjściem... może inaczej - podaj przykładowe dane wejściowe jakie podaje user i w jakiej formie to podaje plus oczekiwany rezultat. Tak jakbyś chciał po prostu napisac do tego testy jednostkowe, najlepiej po prostu pokaż nam przykładowe asercje UT i pomożemy dopasowac implementację, przy tego typu algorytmach jestem akurat zwolennikiem pisania najpierw testów, a potem implementacji.

Podobne pytania

0 głosów
2 odpowiedzi 266 wizyt
pytanie zadane 10 czerwca 2023 w JavaScript przez andrzej.polak Nowicjusz (220 p.)
0 głosów
1 odpowiedź 287 wizyt
pytanie zadane 22 maja 2016 w JavaScript przez remo82 Użytkownik (560 p.)
0 głosów
1 odpowiedź 339 wizyt
pytanie zadane 9 stycznia 2022 w Matematyka, fizyka, logika przez dark41 Użytkownik (760 p.)

92,575 zapytań

141,424 odpowiedzi

319,649 komentarzy

61,960 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...