
Zitat von
clavesana
Könnte mir bitte jemand sagen ob die Syntax (nicht die Logik / Schaltjahr und so . . .) der IF-Bedingungen so richtig ist. Konnte leider in den einschlägigen Foren etc. nichts derartiges finden.
warum schaust du in Foren um eine Syntax zu überprüfen? Die Fehlerkonsole zeigt dir sofort an, wenn diese falsch ist.
[Nachtrag]
Ach, und um ein Datum zu prüfen bietet sich ein Vergleich mit einem Date Objekt an.
PHP-Code:
String.prototype.isDate = function (){
var string = this
.replace(/[-/]/g, '.') // Trennzeichen umwandeln in Punkte
.replace(/[^0-9^.^:^ ]/g, '') // ungültige Zeichen entfernen
.replace(/ +/g, ' '); // doppelte Leerzeichen entfernen
var uhr = string.split(" "); // Uhrzeit abtrennen
var split = uhr[0].split(".");
var day = parseInt(split[0], 10);
var month = parseInt(split[1] || 0, 10);
var year = parseInt(split[2], 10);
if(isNaN(year)) year = (new Date).getFullYear();
var check = new Date(year, month - 1, day);
if(uhr[1]) {
var u = uhr[1].split(':');
check.setHours( u[0] || 0 );
check.setMinutes( u[1] || 0 );
check.setSeconds( u[2] || 0 );
}
var day2 = check.getDate();
var year2 = check.getFullYear();
var month2 = check.getMonth() + 1;
return ( year2 == year && month == month2 && day == day2 ) ? check
: null;
}
var date_1 = '3.2.2009';
var date_2 = '31.2.2009';
alert(date_1.isDate());
alert(date_2.isDate());
Lesezeichen