Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Frage Entwicklung JavaScript

Fehler im Javascript (Datumsvergleich)

Mitglied: killtec

killtec (Level 3) - Jetzt verbinden

27.11.2013 um 14:20 Uhr, 2250 Aufrufe, 4 Kommentare

Hallo zusammen,
ich habe ein Javascript, wlehes ein Datum zerlegen und vergleichen soll. Nur irgendwie wirft mir das Script Mist raus.
Das Datum soll im Format Jahr-Monat-Tag (YYYY-MM-DD) eingegeben werden.
Die Überprüfung des Jahres klappt, jedoch nicht des tages und des Monats.
Hier ist mein code.
Der window.alert(datum_eingabe + ... ist nur zum debigging vorhanden.
01.
function formcheck(){ 
02.
	var datum_eingabe = document.terminadd.datum.value; 
03.
	var dat_in = datum_eingabe.split("-"); 
04.
	var eing_jahr = dat_in[0] 
05.
	var eing_monat = dat_in[1] 
06.
	var eing_tag = dat_in[2] 
07.
	var objdatum_existiert = new Date(eing_jahr, eing_monat, eing_tag); 
08.
	var vergleich = new Date(); 
09.
	 
10.
	 
11.
	// Erweitern um eine 0 wenn die Zahl < 10 ist 
12.
	 
13.
	if (objdatum_existiert.getMonth() < 10){ 
14.
		var monat_neu = "0" + objdatum_existiert.getMonth(); 
15.
16.
	if (objdatum_existiert.getDay() < 10){ 
17.
		var tag_neu = "0" + objdatum_existiert.getDay(); 
18.
19.
		 
20.
	// Zusammenbau des späteren Vergleichsstrings 
21.
	vergleich = objdatum_existiert.getFullYear() + "-" + monat_neu + "-" + tag_neu; 
22.
	window.alert(datum_eingabe + " = " + vergleich); 
23.
		 
24.
	// Vergleich der Daten	 
25.
	if(datum_eingabe == vergleich){ 
26.
		return true 
27.
	}else{ 
28.
		window.alert("Datum ist ungültig. Bitte Format und Datum prüfen. \n Datumsformat: YYYY-MM-DD - Bsp: 2011-12-31"); 
29.
		return false 
30.
31.
	 
32.
}
Für Tipps bin ich sehr dankbar.

Gruß
Mitglied: colinardo
27.11.2013, aktualisiert um 15:47 Uhr
Hallo killtec,
das new Date() beginnt bei Monaten bei 0 zu zählen. machs mal so:
01.
function formcheck(){  
02.
    var datum_eingabe = document.terminadd.datum.value; 
03.
    var pattern = /^\d{4}-\d{1,2}-\d{1,2}$/; 
04.
    if (pattern.test(datum_eingabe) == true){ 
05.
        //Format passt, prüfe nun noch ob das Datum gültig ist 
06.
    	var dat_in = datum_eingabe.split("-"); 
07.
    	var eing_jahr = parseInt(dat_in[0]); 
08.
    	var eing_monat = parseInt(dat_in[1]); 
09.
    	var eing_tag = parseInt(dat_in[2]); 
10.
    	var dateConverted = new Date(eing_jahr,eing_monat-1, eing_tag); 
11.
    	if (dateConverted.getFullYear() != eing_jahr || dateConverted.getMonth()+1 != eing_monat || dateConverted.getDate() != eing_tag){ 
12.
    	   //Datum ist ungültig 
13.
    	   alert("Dieses Datum existiert nicht");  
14.
    	   return false; 
15.
    	}else{ 
16.
    	   //Datum ist OK 
17.
    	   return true; 
18.
19.
    }else{ 
20.
        //Datum hat nicht das richtige Eingabeformat 
21.
        alert("Datum ist ungültig. Bitte Format prüfen. \n Datumsformat: YYYY-MM-DD - Bsp: 2011-12-31");  
22.
        return false; 
23.
24.
	 
25.
}
wie man Datum's korrekt erzeugt kannst du hier nachlesen. Außerdem fehlen bei dir so manche Semikolons am Ende von Zeilen...

Grüße Uwe
Bitte warten ..
Mitglied: killtec
27.11.2013 um 15:11 Uhr
Hi Uwe,
dachte mir dass du darauf antwortest
Lokal klappt es soweit. Werde das heute abend / morgen auf die Seite implementieren und dann Berichten.

Danke dir!
Bitte warten ..
Mitglied: Arano
27.11.2013 um 20:52 Uhr
Hallo killtec

Definiere "Mist" !
Ich kann mir kaum vorstellen das sich ein Popup öffnet in dem nur dieses eine Wort steht: alert("Mist");
...oder hebt dein Tower etwa das Stromkabel und scheidet Mist aus dem NT-Lüfter aus !?

Mit einer Lösungsantwort ala: "Mach das mal __richtig__" wärst du ja auch nicht zufrieden -> Definiere: "richtig"

01.
	vergleich = objdatum_existiert.getFullYear() + "-" + monat_neu + "-" + tag_neu;
Die Variablen monat_neu und tag_neu __existieren nicht__ !
bzw. existieren __nur wenn__ die Eingaben kleiner als 10 sind


~Arano
Bitte warten ..
Mitglied: killtec
28.11.2013 um 08:02 Uhr
Hi Arano,
danke für deine Antwort. Das "Mist" war in diesem Sinne, dass er da niht das ausgegeben hat was ich erwartet habe, sondern dass, was er wollte.
Mit Uwe's Lösung funktioniert es (auf jeden Fall schon mal lokal, Im Netz wird später getestet).

Gruß
Bitte warten ..
Ähnliche Inhalte
JavaScript
Javascript sendet jede Sekunde einen Fehler
gelöst Frage von vServerJavaScript9 Kommentare

Hallo, warum sendet mir der Javascript jede Sekunde einen Fehler, was ist daran falsch?

Batch & Shell
Datumsvergleich einer Datei unter linux und einer anderen unter Windows
gelöst Frage von retradnewsBatch & Shell8 Kommentare

Hallo, ich habe folgende Situation: Ein USB-Stick mit .png Dateien die mittels einer Batch (durch aufruf von pscp.exe) auf ...

Batch & Shell
Problem beim Datumsvergleich in Batch
gelöst Frage von AuricGoldfingerBatch & Shell2 Kommentare

Moin zusammen, ich habe ein Problem. Ich bekomme täglich eine Datei geliefert (immer der gleiche Name und da lässt ...

Apache Server
JavaScript wird nicht ausgeführt
Frage von schneerunzelApache Server

Hallo zusammen ich wollte gerade das Tool open3A installieren. Dabei bekomme ich einen Fehler die Dateien sind alle mit ...

Neue Wissensbeiträge
Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 44 MinutenLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 18 StundenTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 19 StundenSicherheit12 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 20 StundenSicherheit9 Kommentare

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Heiß diskutierte Inhalte
Windows 10
Netbook erkennt Soundkarte nicht - keinerlei Info zum Hersteller und Modell vom Netbook und Hardware bekannt
Frage von 92943Windows 1031 Kommentare

Guten Tag, meine Schwester reist in einigen Wochen für ein paar Monate ins Ausland und hat sich dafür ein ...

Batch & Shell
Anmeldevorgang für Informatikraum (Schule) unter Windows
gelöst Frage von IngenieursBatch & Shell29 Kommentare

Hey zusammen, ich werde in naher Zukunft den Informatik Raum meiner jetzigen Schule von dem aktuellen Betreiber übernehmen (Vertrag ...

Netzwerkgrundlagen
Welches Modem für VDSL 50000 der T-Com
gelöst Frage von Windows10GegnerNetzwerkgrundlagen21 Kommentare

Hallo, ein Kollege von mir will sich VDSL50000 von der T-Com holen, um daran einen Server zu betreiben. Ich ...

Batch & Shell
AD-Abfrage in Batchdatei und Ergebnis als Variable verarbeiten
gelöst Frage von Winfried-HHBatch & Shell19 Kommentare

Hallo in die Runde! Ich habe eine Ergänzungsfrage zu einem alten Thread von mir. Ausgangslage ist die Batchdatei, die ...