Validation Date
by Mentaldiarrhoe
HTML
<html>
<head>
</head>
<body>
<input type="text" id="input" name="lname">
</body>
</html>
JavaScript
checkdate()
function checkdate() {
var input = document.getElementById("input");
input.value = "22";
//alert(input.value);
var content = input.value;
var d = new Date();
var m = d.getMonth() + 1;
alert(m.toString().length);
if (m.toString().length == 1) {
m = "0" + m
};
var y = d.getFullYear();
var r = /^\.|h$/;
var r0 = /^\d{2}$/;
var r1 = /^\d{4}$/;
var r11 = /^\d{1,2}\.\d{1,2}\.$/;
var r2 = /^\d{6}$/;
var r22 = /^\d{8}$/;
var r3 = /^([0-2][0-9]|(3)[0-1])([\.\-\/])(((0)[0-9])|((1)[0-2]))([\.\-\/])\d{2,4}$/;
switch (true) {
case content.length == 0:
brake;
case r.test(content):
input.value = util.printd("dd.mm.yyyy", d);
break;
case r0.test(content):
input.value = content + "." + m + "." + y;
break;
case r1.test(content):
input.value = event.value.slice(0, 2) + "." + event.value.slice(2, 4) + "." + y;
break;
case r11.test(content):
input.value = event.value.slice(0, 6) + y;
break;
case r2.test(content):
input.value = event.value.slice(0, 2) + "." + event.value.slice(2, 4) + "." + y.toString().substr(0, 2) + event.value.slice(4, 8);
break;
case r22.test(content):
input.value = event.value.slice(0, 2) + "." + event.value.slice(2, 4) + "." + event.value.slice(4, 8);
break;
default:
break;
}
if (!validDate(input.value)) {
app.alert("Du hast keingĂĽltiges Datumsformat eingegeben,bitte wiederholen.", 0, 0, "Sorry Datumsformatfehler");
input.setFocus();
}
function validDate(datum) {
//(Schritt 1) Fehlerbehandlung
if (!datum) return false;
datum = datum.toString();
//(Schritt 2) Aufspaltung des Datums
datum = datum.split('.');
if (datum.length != 3) return false;
//(Schritt 3) Entfernung der fuehrenden Nullen und Anpassung des Monats
datum[0] = parseInt(datum[0], 10);
datum[1] = parseInt(datum[1], 10) - 1;
//(Schritt 4) Erzeugung eines neuen Dateobjektes
...