function isDate(value) { // ddmmåååå var datePattern = /^\d{2}\d{2}\d{4}$/g; // dd.mm.åååå var datePatternDots = /^\d{2}\.\d{2}\.\d{4}$/g; var dateElements = new Array(3); if (value != null && value != "") { if (datePattern.test(value)) { dateElements[0] = value.substring(0,2); dateElements[1] = value.substring(2,4); dateElements[2] = value.substring(4); //alert("Date OK: '" + value + "'"); alert("D: '" + dateElements[0] + "'" + " M: '" + dateElements[1] + "'" + " Y: '" + dateElements[2] + "'"); } else if (datePatternDots.test(value)) { dateElementsTemp = value.split("."); alert("D: '" + dateElements[0] + "'" + " M: '" + dateElements[1] + "'" + " Y: '" + dateElements[2] + "'"); } else { alert("FEL: D: '" + dateElements[0] + "'" + " M: '" + dateElements[1] + "'" + " Y: '" + dateElements[2] + "'"); return false; } var dd = parseInt(dateElements[0]); var mm = parseInt(dateElements[1]); var yyyy = parseInt(dateElements[2]); var days = (dd < 1 || dd > 31)? false : true; // specialfallet februari if (mm == 2 && dd > 29) days = false; var months = (mm < 1 || mm > 12)? false : true; var years = (yyyy < 2000 || yyyy > 3000)? false : true; if (days && months && years) return true; else return false; } return false; }