2017-09-25 151 views
-1

我檢查的日期格式[ 「月」] [ 「/或 - 」] [ 「日」] [ 「/或 - 」] [年份]正則表達式不工作的MDY

var regex = /^(0[1-9]|1[012])[-/.](0[1-9]|[12][0-9]|3[01])[- /.](19|20)\d\d$/; 
    if(dateValue.match(regex)) 
     return true; 
    else 
     return false; 

的上面的代碼總是返回false。如果我輸入 「2017年9月8日」,它仍然返回false

+0

*「也請提供...」*。 Stackoverflow不是免費的代碼寫作服務 – charlietfl

+0

請幫助我!我不能寫正則表達式... – Nida

+0

這真的很有幫助,試試吧https://regexr.com粘貼你的正則表達式,看看它做錯了什麼(有解釋標籤) – Akxe

回答

1

試試這個

var regex = /^((0?[1-9]|1[012])[- /.](0?[1-9]|[12][0-9]|3[01])[- /.](19|20)?[0-9]{2})*$/; 
0

試試這個

var regex = /^((0?[1-9]|1[012])[- /.](0?[1-9]|[12][0-9]|3[01])[- /.](19|20)?[0-9]{2})*$/ ; 

演示here

0

你逃脫斜線「 /'在你的正則表達式中。嘗試:

/^(0[1-9]|1[012])[-\/.](0[1-9]|[12][0-9]|3[01])[-\/.](19|20)\d\d$/ 
0

試試這個:

var regex = /(0[1-9]|1[0-2])(-|\/)(0[1-9]|[12]\d|3[01])(-|\/)([12]\d{3})/; 
 
console.log(regex.test('08/21/2017')); 
 
console.log(regex.test('11-10-2008')); 
 
console.log(regex.test('02.15.2008')); 
 
console.log(regex.test('13/19/2008'));

解釋可以發現here