正则判断下var rx=/\d{4}(-\d{2}){2} (0\d:[0-5]\d+|1[0-8]:[0-5]\d+|19:[0-2]\d)/;document.write(rx.test("2014-11-22 00:29")+'<br/>')//true
document.write(rx.test("2014-11-22 17:29")+'<br/>')//true
document.write(rx.test("2014-11-22 15:29")+'<br/>')//true
document.write(rx.test("2014-11-22 17:30")+'<br/>')//true
document.write(rx.test("2014-11-22 20:30")+'<br/>')//false
document.write(rx.test("2014-11-22 19:70"))//false

解决方案 »

  1.   

    /*
    2014-11-22 17:29
    将这样的时间转换成当天的分钟(前面日期不用管就换算小时和分钟)
    就是:17*60+29=1049
    19:30的分钟是19*60+30=1170
    上面分钟如果小于1170就是合法时间段
    OK就是这个思想下面来实现它
    */
    var str_time='yyyy-mm-dd hh:mm';
    var arr1=str_time.split(' '); //分割成数组取第二个元素
    var arr2=arr1[1].split(':');  //将第二个元素再次分割成数组都要
    var mins=arr2[0]*60+arr2[1];  //换算分钟
    if(mins<1170)
    alert("合法时间段");
    else
    alert("不合法时间段");