[GastForen Programmierung/Entwicklung JavaScript date-Validierung

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

date-Validierung

troll_13
Beiträge gesamt: 39

1. Feb 2019, 15:58
Beitrag # 1 von 2
Bewertung:
(3678 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen. Kann mir jemand weiterhelfen?
Wie genau muss ich das Datum eingeben, damit es gemäss dieser Validierung durchkommt?
23.03.2012 funktioniert nicht und ich verstehe nicht warum - allerdings ist mir dieser Code auch zu komplex.
Danke für eure Hilfe!

Code
'date': { 
validation: function(value, options) {
var formatRegExp = /^([mdy]+)[\.\-\/\\\s]+([mdy]+)[\.\-\/\\\s]+([mdy]+)$/i;
var valueRegExp = this.dateValidationPattern;
var formatGroups = options.format.match(formatRegExp);
var valueGroups = value.match(valueRegExp);
if (formatGroups !== null && valueGroups !== null) {
var dayIndex = -1;
var monthIndex = -1;
var yearIndex = -1;
for (var i=1; i<formatGroups.length; i++) {
switch (formatGroups[i].toLowerCase()) {
case "dd":
dayIndex = i;
break;
case "mm":
monthIndex = i;
break;
case "yy":
case "yyyy":
yearIndex = i;
break;
}
}
if (dayIndex != -1 && monthIndex != -1 && yearIndex != -1) {
var maxDay = -1;
var theDay = parseInt(valueGroups[dayIndex], 10);
var theMonth = parseInt(valueGroups[monthIndex], 10);
var theYear = parseInt(valueGroups[yearIndex], 10);

// Check month value to be between 1..12
if (theMonth < 1 || theMonth > 12) {
return false;
}

// Calculate the maxDay according to the current month
switch (theMonth) {
case 1: // January
case 3: // March
case 5: // May
case 7: // July
case 8: // August
case 10: // October
case 12: // December
maxDay = 31;
break;
case 4: // April
case 6: // June
case 9: // September
case 11: // November
maxDay = 30;
break;
case 2: // February
if ((parseInt(theYear/4, 10) * 4 == theYear) && (theYear % 100 != 0 || theYear % 400 == 0)) {
maxDay = 29;
} else {
maxDay = 28;
}
break;
}

// Check day value to be between 1..maxDay
if (theDay < 1 || theDay > maxDay) {
return false;
}

// If successfull we'll return the date object
return (new Date(theYear, theMonth - 1, theDay)); //JavaScript requires a month between 0 and 11
}
} else {
return false;
}
}
},

X

date-Validierung

crisies
  
Beiträge gesamt: 110

4. Apr 2019, 20:25
Beitrag # 2 von 2
Beitrag ID: #569644
Bewertung:
(1891 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi

Diese Funktion erwartet als 2ter Parameter einen Schlüssel format und dort müsste man angeben, wie das Datum daher kommt (sprich das eigentliche format ala dd.mm.yyyy etc.)

Der übergebene Datums-String wird dann via this.dateValidationPattern gegengecheckt und dafür sehe ich hier leider keinen Wert.

Ich nehme an dieses Script wurde von irgendwo her kopiert und nun müsste man halt dort mal in der Doku schauen, wie es genau implementiert wird. Dann würde man auch sehen, wie der Regex für das Datum im generellen gesetzt ist...

lg
chris.w.

*************************************
Chris Würsch
http://www.chriswuersch.com
*************************************


als Antwort auf: [#568766]

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.
pdf-icon Hier eine kleine Anleitung.

Veranstaltungen
21.08.2019

Affinity Photo, Affinity Designer und Affinity Publisher

Schulungsraum von pre2media – Dammstrasse 8, 8610 Uster
Mittwoch, 21. Aug. 2019, 09.00 - 17.00 Uhr

Referat

Alle reden davon – wir zeigen ihnen kompakt was in den einzelnen ­Programmen wirklich steckt. Sind die Programme von Affinity – bereits heute – eine Alternative zu den Adobe-Programmen? Was versteht ­Affinity unter StudioLink und der vollständigen Integration der Affinity-Apps. Sie können jedes Affinity-Referat einzeln buchen. Oder alle drei Referate zusammen, bequem an einem Tag.

Mittwoch, 21. August 2019
9.00 bis 11.00 Affinity Photo Bildbearbeitung CHF 90.00
13.00 bis 15.00 Affinity Designer Grafikdesign CHF 90.00
15.00 bis 17.00 Affinity Publisher Layoutprogramm CHF 90.00
Alle drei Affinity Programme zusammen (6 Lektionen) CHF 220.00

Diese Referate werden auch noch am Fr. 13. September und am Di. 22. Oktober 2019 durchgeführt.

Ja

Organisator: pre2media gmbh, Dammstrasse 8, 8610 Uster, info@pre2media.ch, www.pre2media.ch

Kontaktinformation: Peter Jäger oder Roger Thurnherr, E-Mailinfo AT pre2media DOT ch

https://www.pre2media.ch/-1/de/kurse/affinity-referat/

Affinity-Referat bei pre2media
Veranstaltungen
22.08.2019

Impressed GmbH, Hamburg
Donnerstag, 22. Aug. 2019, 10.00 - 10.30 Uhr

Webinar

Wir stellen Ihnen in diesem kostenlosen ca. halbstündigen Webinar das neue Enfocus Switch PDF Review Modul zur Freigabe von PDF-Druckdaten vor.

Ja

Organisator: Impressed GmbH

Kontaktinformation: Detlef Grimm, E-Mailschulungen AT impressed DOT de

https://www.impressed.de/schulung.php?c=sDetail&sid=250

Enfocus Switch PDF Review Modul