需要使用JavaScript限制输入时间
我有两个文本框,格式为“01:00am”,分别为“from time”和“to time”需要使用JavaScript限制输入时间,javascript,Javascript,我有两个文本框,格式为“01:00am”,分别为“from time”和“to time” 我的要求是,如果我在“从时间到时间”中输入“01:00 am”,则不应超过15小时(表示不应超过“04:00 pm”),如果用户在第二个文本框中输入的时间超过15小时,则应显示错误。请给我一些建议,我如何用javascript实现它?我自己开发了它。在不使用日期/时间对象的情况下正常工作 function validateTimeDiff() { var startTime = document
我的要求是,如果我在“从时间到时间”中输入“01:00 am”,则不应超过15小时(表示不应超过“04:00 pm”),如果用户在第二个文本框中输入的时间超过15小时,则应显示错误。请给我一些建议,我如何用javascript实现它?我自己开发了它。在不使用日期/时间对象的情况下正常工作
function validateTimeDiff() {
var startTime = document.getElementById("txt_StartTime").value;
var endTime = document.getElementById("txt_Endtime").value;
var startHours = parseInt(startTime.substring(0, 2));
var endHours = parseInt(endTime.substring(0, 2));
var startMeridian = startTime.substring(6, 8).toUpperCase();
var endMeridian = endTime.substring(6, 8).toUpperCase();
var startMin = parseInt(startTime.substring(3, 5));
var endMin = parseInt(endTime.substring(3, 5));
var minsDiff = endMin - startMin;
if (startHours != 12 && startMeridian == "PM") {
startHours = startHours + 12;
}
if (endHours != 12 && endMeridian == "PM") {
endHours = endHours + 12;
}
if (startHours == 12 && startMeridian == "AM") {
startHours = 0;
}
if (endHours == 12 && endMeridian == "AM") {
endHours = 0;
}
var startCount = 24 - startHours;
var endCount = 24 - endHours;
if (startHours == 12 || endHours == 12) {
if (startHours > endHours) {
var hourDiff = startHours + endHours;
}
else
var hourDiff = endHours - startHours;
}
if (startHours > 12 || endHours > 12) {
if (startHours > endHours) {
var hourDiff = startCount + endHours;
}
else
var hourDiff = startCount - endCount;
}
if (startHours > 12 || endHours < 12) {
if (startHours > endHours) {
var hourDiff = startCount + endHours;
}
else
var hourDiff = startCount - endCount;
}
if (hourDiff > 15) {
alert("End time shouldn't exceed more than 15hrs");
return false;
}
if (hourDiff >= 15 && minsDiff > 0) {
alert("End time shouldn't exceed more than 15hrs");
return false;
}
return true;
}
函数validateTimeDiff(){
var startTime=document.getElementById(“txt_startTime”).value;
var endTime=document.getElementById(“txt_endTime”).value;
var startHours=parseInt(startTime.substring(0,2));
var endHours=parseInt(endTime.substring(0,2));
var startMeridian=startTime.substring(6,8).toUpperCase();
var endMeridian=endTime.substring(6,8).toUpperCase();
var startMin=parseInt(startTime.substring(3,5));
var endMin=parseInt(endTime.substring(3,5));
var minsDiff=endMin-startMin;
如果(startHours!=12&&startMeridian==“PM”){
星空=星空+12;
}
如果(endHours!=12&&endMeridian==“PM”){
结束时间=结束时间+12;
}
if(startHours==12&&startMeridian==AM){
星空=0;
}
如果(endHours==12&&endMeridian==AM){
endHours=0;
}
var startCount=24-startHours;
var endCount=24-endHours;
如果(开始时间==12 | |结束时间==12){
如果(开始时间>结束时间){
var hourDiff=开始时间+结束时间;
}
其他的
var hourDiff=结束时间-开始时间;
}
如果(开始时间>12 | |结束时间>12){
如果(开始时间>结束时间){
var hourDiff=开始计数+结束小时数;
}
其他的
var hourDiff=开始计数-结束计数;
}
如果(开始时间>12 | |结束时间<12){
如果(开始时间>结束时间){
var hourDiff=开始计数+结束小时数;
}
其他的
var hourDiff=开始计数-结束计数;
}
如果(小时数>15){
警报(“结束时间不得超过15小时”);
返回false;
}
如果(hourDiff>=15&&minsDiff>0){
警报(“结束时间不得超过15小时”);
返回false;
}
返回true;
}
试着做点什么,然后用那种努力编辑问题。兄弟,我不知道怎么做。给我提个建议吧。不需要完整的代码使用日期对象?不。我的输入仅为上述格式的时间(即下午12:00),您不能对此说不。如果您想对时间(和日期)做任何事情,您将使用JavaScript的日期对象。