2016-08-04 70 views
-2

我試圖篩選出最新的結果,但我想我可能有正則表達式錯誤。的Javascript正則表達式不匹配日期正確

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} $ /正確的正則表達式?

謝謝。

+0

似乎工作https://regex101.com/r/uN2sH3/1。你確定輸入正確嗎? – Pabs123

+1

使用正則表達式文本語法'/^\ d {1,2} \/\ d {1,2} \/\ d {4} $ /'或'新正則表達式(「^ \\ d {1,2} \/\\ d {1,2} \/\\ d {4} $「)' – Tushar

+0

您是否正在測試這個正則表達式到確切字符串」8/3/2016「,還是包含該日期的字符串? –

回答

1

你沒有正確使用RegExp對象。 你應該這樣做:

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

\d是怎麼逃出來的,你不應該開始和結束/您的正則表達式,它用來啓動和結束字面正則表達式,正則表達式不裹中的對象。

+0

工作!謝謝。 –

+0

酷!別客氣。 –