I have a bunch of time boxes on a form. I need to round time that the user enters to 15 minute intervals. I’m thinking if its less than 15 minutes minutes=00. If its greater than 15 but less than 30 minutes = 15, etc. If it’s greater than 45 but less than 59 the minutes would have to = 00 and the hour increment by 1.
Here is the code I am using to validate if the time is in military format.
function IsValidTime(timeStr) {
var timePat = /^(d{1,2})?d{2})(?d{2}))?(s?(AM|am|PM|pm))?$/;
var matchArray = timeStr.match(timePat);
if (matchArray == null) {
alert(“Time is not in a valid format. It must be 00:00 format for military time.”);
return false;
}
hour = matchArray[1];
minute = matchArray[2];
second = matchArray[4];
ampm = matchArray[6];
if (second==””) { second = null; }
if (ampm==””) { ampm = null }
if (hour < 0 || hour > 23) {
alert(“Hour must be between 1 and 12. (or 0 and 23 for military time)”);
return false;
}
if (minute<0 || minute > 59) {
alert (“Minute must be between 0 and 59.”);
return false;
}
if (second != null && (second < 0 || second > 59)) {
alert (“Second must be between 0 and 59.”);
return false;
}
return false;
}
</script>
Does anyone know how I would work some logic into this to check the minute and set the minutes based on what they round to?
I would like the form values to automatically change when they tab off of it.
Thank you!