下面代码执行结果为什么不一样呢?
<html>
  <head>
  </head>
<script type="text/javascript">
alert(/(\d{1,2}:\d{2})/.test("12:02"));
alert((new RegExp("(\d{1,2}:\d{2})")).test("2:00"));
alert((new RegExp("(\d{1,2}:\d{2})")).test("02:04"));
</script>
  <body>
 </body>
</html>

解决方案 »

  1.   


    <script type="text/javascript">
    alert(/(\d{1,2}:\d{2})/.test("12:02"));
    alert((new   RegExp("\\d{1,2}:\\d{2}")).test("2:00"));
    alert((new   RegExp("\\d{1,2}:\\d{2}")).test("02:04")); 
    </script>用new   RegExp的时候要注意转义
      

  2.   

    顶1楼,//是快捷正则方式,里面全部按正则原语法书写而无视JS的语法,new RegExp是标准正则方式,可以用常量、变量等,但同时也必须按JS的语法进行书写。