接分
/^(\s*(((\d{0,2}):(\d{0,2}))|((\d{0,2}):(\d{0,2})-(\d{0,2}):(\d{0,2}))))+\s*$/

解决方案 »

  1.   

    <script>
    var str = "20:26  17:27-22:25        20:26          17:27 22:25";
    var reg = /^(?:\d{1,2}:\d{1,2}(?:\-\d{1,2}:\d{1,2})?(?:\s+|$))+$/;
    alert(reg.test(str));
    </script>
      

  2.   

    开头可以有空格<script>
        var str = " 20:26  17:27-22:25        20:26          17:27 22:25";
        var reg = /^(?:\s*\d{1,2}:\d{1,2}(?:\-\d{1,2}:\d{1,2})?(?:\s+|$))+$/;
        alert(reg.test(str));
    </script>
      

  3.   

    谢谢 cgisir ,这个可以判断格式,如果能能判断时间就好了