Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript]wprowadzenie daty oraz sprawdzanie daty input
Forum PHP.pl > Forum > Przedszkole
troian
Witam znowu biggrin.gif mam dokładnie dwa problemy, pierwszy to nie mogę napisać funkcji która będzie sprawdzać poprawność wpisania daty, tzn data ma wyglądać następująco:
YYYY/MM/DD

w tym celu napisałem następujący wzór:
Kod
var wzor_date = /^[0-9]{1,4}+\/[0-9]{1,2}+\/[0-9]{1,2}+$/g

Jednak znacznik np {1,4} powoduje że cały skrypt przestaje działać, jedynie jaka wersja działa to:
Kod
var wzor_date = /^[0-9]+\/[0-9]+\/[0-9]+$/g

I tutaj mam pytanie jak ustawić aby sprawdzał czy wzór daty wygląda następująco: YYYY/MM/DD a nie np DD/MM/YYYY

Druga sprawa to w jaki sposób z powyższego kodu mogę pobrać tylko YYYY ? tzn jeżeli do kodu z inputa trafi data 1994/31/07 to aby pobrał mi tylko 1994 tak bym mógł porównywać wpisany rok z tym którym podam?
Kshyhoo
javascript get date format?
troian
Cytat(Kshyhoo @ 14.06.2015, 12:01:31 ) *


A niby jak od tego mam odjąć np 18 lat aby sprawdzić czy osoba jest pełnoletnia ?
Kshyhoo
A o to chodzi. Przykładzik:
  1. <form name="f1" action="">
  2. wpisz datę urodzenia w formacie <br />dzień/miesiąc/rok:<br />
  3. <input type="text" name="dzien" maxlength="2" style="width:40px;" /> /
  4. <input type="text" name="miesiac" maxlength="2" style="width:40px;" /> /
  5. <input type="text" name="rok" maxlength="4" style="width:40px;" /><br />
  6. <input type="button" value=" wejdĽ " onclick="test();" /><br />
  7. <p id="komunikaty"></p>
  8. </form>

[JAVASCRIPT] pobierz, plaintext
  1. <script language="javascript" type="text/javascript">
  2. <!--
  3. function data(dzien, miesiac, rok) {
  4. miesiac--;
  5. d = new Date(rok,miesiac,dzien);
  6. if (dzien==d.getDate() && miesiac==d.getMonth() && rok==(d.getFullYear()))
  7. return true;
  8. else
  9. return false
  10. }
  11.  
  12. function test() {
  13. dz = document.f1.dzien.value;
  14. mi = document.f1.miesiac.value;
  15. ro = document.f1.rok.value;
  16. if (!data(dz,mi,ro)) { // test czy taka data istnieje
  17. document.getElementById("komunikaty").innerHTML = "ſle wpisana data, wpisz ją poprawnie!";
  18. } else {
  19. document.getElementById("komunikaty").innerHTML="";
  20. teraz = new Date().getTime(); // aktualna data
  21. dzien = new Date(ro,mi,dz,12,1,0).getTime(); // data urodzenia
  22. sekund = Math.abs((teraz-dzien)/1000);
  23. minut = Math.floor(sekund/60);
  24. godzin = Math.floor(minut/60);
  25. dni = Math.floor(godzin/24);
  26. lat = Math.floor(dni/365);
  27. if (lat>=18) location="poprawne.html"
  28. if (lat<18) location="niepoprawne.html"
  29. }
  30.  
  31. }
  32. // -->
  33. </script>
[JAVASCRIPT] pobierz, plaintext
troian
Cytat(Kshyhoo @ 14.06.2015, 12:13:36 ) *
A o to chodzi. Przykładzik:
...


Tak to też potrafię napisać, chodzi tutaj o to że data musi być wprowadzona w 1 inpucie w formie RRRR/MM/DD i tutaj jest problem :/ Jak podzielić zawartość 1 inputa na 3 dane YYYY / MM / DD
Kshyhoo
A nie możesz dać select/option na datę?
troian
Niestety nie sad.gif Zadanie polega na wpisaniu daty i jej dzieleniu, nie wiem czy w JS jest możliwość dzielenia zawartości na poszczególne częśći tak jak w php
troian
O działa biggrin.gif

Dzięki wielkie smile.gif
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.