简体   繁体   English

需要使用JavaScript限制输入时间

[英]Need to Limit the input timing using JavaScript

i have two text boxes which takes "from time" and "to time" in the formate "01:00 Am". 我有两个文本框,其格式为“ 01:00 Am”。

My requirement is if i put "01:00 am" in the from time, to time should not exceed 15hrs (means should not be more than "04:00 pm") if the user enters the time which is more than 15hrs in 2nd text box it should show error. 我的要求是,如果用户第二次输入的时间超过15小时,则我将“ 01:00 am”设置为不超过15小时(平均时间应不超过“ 04:00 pm”)。文本框应该显示错误。 please give me suggestions how can i do it in javascript? 请给我建议,我该如何使用javascript?

I have Developped It By My Own. 我已经自己开发了。 Working Properly Without Using Date/Time Object. 无需使用日期/时间对象即可正常工作。

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;
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM