javascript - 如何检查字符串是否包含开始和结束日期
问题描述
我有一个需要迭代的对象数组。我正在尝试检查是否包含以下字符串 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"
?
在此先感谢您的帮助。
解决方案
尝试这个:
((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}))
推荐阅读
- solr - 有什么方法可以在 solr 中实现自定义(除了 index/count )分面值排序吗?
- docker - Net Core 部署到 Docker 配置
- java - 自动删除旋转的 gc.log 文件
- database - 如何通过原始数据文件(即没有 API 或连接器)访问 hsql 数据库?
- python - 使用 __contains__ 对 numpy 数组进行非常慢的迭代
- android-studio - Android studio 3.1.2 不支持 ndk-build
- sql-server - 从节点js调用存储过程
- javascript - 视频背景插件 - 静音视频 - Wordpress
- java - 更改 JSON 数组对象的顺序
- c++ - 构建错误:“找不到文件的目标”和“未定义的引用”