Välkommen till WF!
Här har du ett indentiskt inlägg.
http://www.webforum.nu/showthread.php?s=&postid=658992#post658992
2 svar · 304 visningar · startad av mikab
Hej,
Jag har följande kod som validerar datumfält i ett formulär:
function checkDate(input){
var pattern = /^(\d{4})-(\d{2})-(\d{2})$/;
if(!pattern.test(input))
return false;
var year = parseInt(RegExp.$1),
month = parseInt(RegExp.$2) - 1,
date = parseInt(RegExp.$3);
var toCheck = new Date();
toCheck.setFullYear(year);
toCheck.setMonth(month);
toCheck.setDate(date);
return toCheck.getFullYear() == year && toCheck.getMonth() == month && toCheck.getDate() == date;
}
Den fungerar förträffligt utom på en punkt den tillåter INTE dag 08 eller 09. År, månad och andra dagar går bra!
Varför är det på detta sättet?
Tacksam för hjälp
mikab
Välkommen till WF!
Här har du ett indentiskt inlägg.
http://www.webforum.nu/showthread.php?s=&postid=658992#post658992
Tack för svaret!
Efter lite testande blev koden:
function checkDate(input){
var pattern = /^(\d{4})-(\d{2})-(\d{2})$/;
if(!pattern.test(input))
return false;
return (RegExp.$3<=new Date(RegExp.$1,RegExp.$2,0).getDate()&&RegExp.$3>0&&RegExp.$2<13&&RegExp.$2>0);
}
/mikab