1、2010-4-5am/2010-4-6pm,2010-4-7am/2010-4-8pm;2010-5-6am/2010-5-7pm,2010-6-5am/2010-6-7pm,2010-6-9am/2010-6-10pm
也可以写三条
2010-4-5am/2010-4-6pm,2010-4-7am/2010-4-8pm;2010-5-6am/2010-5-7pm,2010-6-5am/2010-6-7pm,2010-6-9am/2010-6-10pm;2010-4-5am/2010-4-6pm,2010-4-7am/2010-4-8pm
2010-4-5am表示一个日期
2010-4-5am/2010-4-6pm表示一个日期段
2010-4-5am/2010-4-6pm,2010-4-7am/2010-4-8pm有几段

解决方案 »

  1.   

    <script>
    var str = "2010-4-4am;"
    +"2010-4-5am/2010-4-6pm;"
    +"2010-5-6am/2010-5-7pm,2010-6-5am/2010-6-7pm,2010-6-9am/2010-6-10pm;"
    +"2010-4-5am/2010-4-6pm,2010-4-7am/2010-4-8pm";
    var re = /^((;|^|,)\d{4}-\d{1,2}-\d{1,2}(a|p)m\/\d{4}-\d{1,2}-\d{1,2}(a|p)m(?=$|;|,)|(;|^)\d{4}-\d{1,2}-\d{1,2}(a|p)m(?=$|;|,))+$/gi;
    alert(re.test(str));
    </script>
      

  2.   

    我不要第一种可以吗?我的最小单元是2010-4-5am/2010-4-6pm
      

  3.   

    可以
    <script>
    var str = "2010-4-5am/2010-4-6pm;"
    +"2010-4-7am/2010-4-8pm;"
    +"2010-5-6am/2010-5-7pm,2010-6-5am/2010-6-7pm,2010-6-9am/2010-6-10pm;"
    +"2010-4-5am/2010-4-6pm,2010-4-7am/2010-4-8pm";
    var re = /^((;|^|,)\d{4}-\d{1,2}-\d{1,2}(a|p)m\/\d{4}-\d{1,2}-\d{1,2}(a|p)m(?=$|;|,))+$/gi;
    alert(re.test(str))
    </script>