如何在javascript小时格式中分离正则表达式

时间:2016-11-18 15:19:28

标签: javascript jquery regex

我有一些问题要定义小时时间,我想将小时时间分为早上,晚上和晚上的3种类型。 如果时间从00:00到10:00开始,那么上午的时间是早上, 如果时间从10:01到18:00开始,那么类型时间是晚上, 如果时间从18:01到23:59开始,那么类型时间是晚上, 我有像这样的代码jquery

$(document).ready(function(){
    $('#submit').on('click',function(){

        var hrs=$('#hours').val();
        var nm=$('#scedule').val();

        var patt = new RegExp("^([0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$");
            var patts = patt.test(hrs);

        //morning   =   00:00 - 10:00
        var morn = new RegExp("^([0-9]|0[0-9]|1[0-9]):[0-5][0-9]$");
            var morning = morn.test(hrs);

        //evening   =   10:01 - 18:00
        var even = new RegExp("^(1[0-9]|[0-9]):[0-5][0-9]$");
            var evening = even.test(hrs);

        //night =   18:01 - 00:00
        var nig = new RegExp("^(1[0-9]|2[0-3]):[0-5][0-9]$");
            var night = nig.test(hrs);

        if ( patts == morning ) {
            alert('This is Morning');
        } else if (patts == evening){
            alert('This is Evening');
        } else if (patts == night){
            alert('This is night');
        } else {
            alert('Format is wrong');
        }
    });
});

这是我的表单HTML:

    Scedule : <input type="text" id="scedule"><br>
    Time : <input type="text" id="hours"><br>   
    <input type="submit" value="submit" id="submit"><br>

1 个答案:

答案 0 :(得分:0)

您在这里不需要正则表达式,只需使用Date

&#13;
&#13;
$(document).ready(function(){
    $('#submit').on('click',function(){

        var hrs=$('#hours').val();
        if(hrs.length != 5 || hrs.indexOf(':') < 0)
        {
            alert("Wrong Fromat")
            return;
        }

        var date = new Date();
        date.setHours(hrs.split(":")[0]);
        date.setMinutes(hrs.split(":")[1]);
        console.log(date)
      
       

        if ( date.getHours() < 10) {
            console.log('This is Morning');
        } else if (date.getHours() > 18 && date.getMinutes > 0){
           console.log('This is night');
        } else{
           console.log('This is Evening');
        }
    });
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
    Time : <input type="text" id="hours"><br>   
    <input type="submit" value="submit" id="submit"><br>
&#13;
&#13;
&#13;