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

Fehler im Javascript (Datumsvergleich)

Mitglied: killtec

killtec (Level 3) - Jetzt verbinden

27.11.2013 um 14:20 Uhr, 2318 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
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 ...

JavaScript
Javascript Funktionen
gelöst Frage von agowa338JavaScript5 Kommentare

Hallo, habe gerade mehrere schönen Javascripte per mail bekommen und frage mich gerade, was eigentlich folgendes in einem Javascript ...

JavaScript
JavaScript Map
Frage von tobmesJavaScript7 Kommentare

Hi, ich bins mal wider :). Ich spiele immernoch mit JavaScript herum und hänge jetzt mal wieder. Ich habe ...

JavaScript
JavaScript hochladen
gelöst Frage von Patrick-ITJavaScript12 Kommentare

Hallo zusammen, ich bin auf der Suche nach einer Seite, wo ich meine JavaScript Datei hochladen kann und die ...

Neue Wissensbeiträge
Sicherheit
Adminrechte dank Intel-Grafikkarte
Information von DerWoWusste vor 2 StundenSicherheit

ist das Advisory, welches beschreibt, welche Intel HD Graphics Modelle Sicherheitslücken haben, mit denen sich schwache Nutzer zu Admins ...

Internet

EU Urheberrechtsreform: Eingriff in die Internetkultur

Information von Frank vor 20 StundenInternet1 Kommentar

Liebe Besucherin, lieber Besucher, warum erscheint das obere Banner in allen Beiträgen? Aus Protest gegen Teile der geplanten EU-Urheberrechtsreform ...

Windows Server
Windows Backup - FilterManager Event 3
Tipp von NixVerstehen vor 1 TagWindows Server

Hallo zusammen, ich bin kein gelernter ITler und auch beruflich nicht in dem Feld tätig. Wir setzen in unserem ...

Windows 10

Windows 10 - Programme laufen schneller, wenn Sie mit Administratorrechten ausgeführt werden

Erfahrungsbericht von 1Werner1 vor 2 TagenWindows 1015 Kommentare

Moin, das wollte ich erst nicht glauben, aber es ist so. Wenn Ihr ein Programm mit Administratorrechten unter Windows ...

Heiß diskutierte Inhalte
Server-Hardware
Kompatibilität Tray für HP Proliant DL385 G10 vs. G8, G9
Frage von chris123Server-Hardware19 Kommentare

Hallo, weiß einer der hier anwesenden, ob die Trays für 2,5 " HDDs zwischen einem DL 385 G10 und ...

LAN, WAN, Wireless
Glasfaserkabel verlegen und Anschlüsse setzen
Frage von LLL0rdLAN, WAN, Wireless18 Kommentare

Hallo Leute, ich muss demnächst ein Netzwerkkabel auf einer Länge von ca. 70 Metern verlegen. Das Netzwerkkabel soll dabei ...

E-Mail
Wie funktionieren DNS Blacklisten?
gelöst Frage von WinLiCLIE-Mail12 Kommentare

Ich frage mich schon seit längerem, woher genau die Blacklisten für die Mailserver die Domains und Ips kennen die ...

Server-Hardware
Server Hardwareempfehlung für Projekt
gelöst Frage von heax22Server-Hardware12 Kommentare

Hallo zusammen, ich bin auf der Suche nach einer geeigneten Server Plattform um unter Hyper-V einen virtuellen Server 2016 ...