[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:
(3530 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:
(1743 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]

Aktuell

InDesign / Illustrator
indesign2019_300

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, etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen. pdf-icon Hier eine kleine Anleitung.

Veranstaltungen
17.08.2019 - 07.03.2020

3400 Burgdorf, BE
Samstag, 17. Aug. 2019, 08.30 Uhr - Samstag, 07. März 2020, 08.30 Uhr

Lehrgang

Absolventen/innen der Qualifikation Publisher Professional – Profil «Gestaltung» verfügen über Kompetenzen, welche ihnen gestatten, Projekte und Aufgaben der gestalterischen Umsetzung der Medienproduktion mit dem Einsatz der üblichen Publishing-Programme selbständig in Betrieben oder Organisationen zu übernehmen.

Ja

Organisator: PubliCollege GmbH

Kontaktinformation: Beat Kipfer, E-Mailinfo AT publicollege DOT ch

www.publicollege.ch

Publisher Professional-Profil Gestaltung
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