CalevanMedlem sedan maj 20031 173 inlägg Söker efter en (två?) funktioner som kollar att man skrivit datum på formen YYYY-MM-DD och tid på hh:mm
har denna funktion för årsbiten. funkar den bra? hur kollar man tiden? (jag kan inget om javascript)
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);
}
dectgapMedlem sedan sep. 20021 655 inlägg <script type="text/javascript">
var dateStr = "1984-02-28";
var timeStr = "22:12";
String.prototype.isValidDate = function(){
if(this.match(/(\d{4})-(\d{2})-(\d{2})/) != null){
var year = parseInt(RegExp.$1,10);
var month = parseInt(RegExp.$2,10);
var date = parseInt(RegExp.$3,10);
if((new Date(year, month-1, date)).getDate() == date
&& month > 0 && month < 13
&& date > 0 && date < 32)
return true;
}
return false;
}
String.prototype.isValidTime = function(){
if(this.match(/(\d{2}):(\d{2})/) != null){
var h = parseInt(RegExp.$1,10);
var m = parseInt(RegExp.$2,10);
if(h >= 0 && h <= 23 && m >= 0 && m <= 59)
return true;
}
return false;
}
document.write(dateStr.isValidDate() + " " + timeStr.isValidTime());
</script>