Javascript regexp与日期无法正确匹配

时间:2016-08-04 15:27:56

标签: javascript regex date

我正在尝试过滤掉日期结果,但我想我的正则表达式可能不对。

if ((strSearchInx == 6) || (strSearchInx == 7)) {
       var regDate = new RegExp("/^\d{1,2}\/\d{1,2}\/\d{4}$/");
       strSearchField = strSearchField.trim();
       //alert(strSearchField);
       if (regDate.test(strSearchField) == false) {
          alert("Date does not match mm/dd/yyyy format. Please re-enter");
          document.getElementById('searchfield').focus();
          return false;
       }

     }

我已经针对2016年8月3日进行了测试,似乎没有通过任何回复:是/ ^ \ d {1,2} / \ d {1,2} / \ d {4} $ /正确的正则表达式?

感谢。

1 个答案:

答案 0 :(得分:1)

您没有正确使用Regexp对象。 你应该这样做:

var regDate = new RegExp("^\\d{1,2}\/\\d{1,2}\/\\d{4}$");

了解\d如何转义,您不应该使用/开始和结束正则表达式,它用于开始和结束文字正则表达式,而不是用于包裹在对象中的正则表达式。