首页 > 解决方案 > 如何检查字符串是否包含开始和结束日期

问题描述

我有一个需要迭代的对象数组。我正在尝试检查是否包含以下字符串 date : "7/2/2019 - 7/31/2019"

我的问题是我的正则表达式不起作用:

const dateType = /(\d{4})([\/-])(\d{1,2})\2(\d{1,2})/;

我试图过滤这个对象数组并用正则表达式检查当前object.name字符串是否包含所述字符串日期,但和以前一样,我的正则表达式有问题。

  const isMatch = this.state.selectedFilters.filter((filter) => 
     dateType.test(filter.name));

      if (isMatch) {
        // ...
      }

如何使我的正则表达式匹配这种日期格式:"7/2/2019 - 7/31/2019"

在此先感谢您的帮助。

标签: javascriptregex

解决方案


尝试这个:

((0?[1-9])|(1[0-2]))\/((0?[1-9])|([12][0-9])|(3[01]))\/((\d{4})|(\d{2}))\s*-\s*((0?[1-9])|(1[0-2]))\/((0?[1-9])|([12][0-9])|(3[01]))\/((\d{4})|(\d{2}))

这是演示


推荐阅读