我对Javascript中的正则表达式有疑问

问题描述

var pattern = /[A-Z][a-z]{2}-\d{2}-\d{4}/ 这是一种模式,我曾经使用过匹配格式为Jan-12-2000

的日期字符串

问题是我需要跟随字符串的模式

  • 2020年7月23日
  • 7月23日
  • 2020年7月
  • 2020年23月

我真的很想尝试这么多选项而没有得到确切的结果。非常感谢有人可以提供解决方案。

解决方法

const rgx = /([A-Z][a-z]{2,3}[-\s,])?\d{2,4}([-\s,]\d{4})?/;
console.log(rgx.test('Jan-12-2000'))
console.log(rgx.test('Jul 23,2020'))
console.log(rgx.test('Jul 23'))
console.log(rgx.test('Jul 2020'))
console.log(rgx.test('23,2020'))