需要使用JavaScript限制输入时间

需要使用JavaScript限制输入时间,javascript,Javascript,我有两个文本框,格式为“01:00am”,分别为“from time”和“to time” 我的要求是,如果我在“从时间到时间”中输入“01:00 am”,则不应超过15小时(表示不应超过“04:00 pm”),如果用户在第二个文本框中输入的时间超过15小时,则应显示错误。请给我一些建议,我如何用javascript实现它?我自己开发了它。在不使用日期/时间对象的情况下正常工作 function validateTimeDiff() { var startTime = document

我有两个文本框,格式为“01:00am”,分别为“from time”和“to time”


我的要求是,如果我在“从时间到时间”中输入“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的日期对象。