【发布时间】:2018-11-25 02:57:17
【问题描述】:
我无法使用 moment.js 获取有效的日期格式。我无法拒绝只有日期而不是时间的条目。
日期应为“月-日-年”格式(美式),并应包括以小时为单位的时间:分钟。
允许的格式示例:
- 2/02/2019 0:00
- 31/12/2019 0:00
- 31/2/2019 00:00
这是我的代码:
moment(item["InputDate"], 'MM/DD/YYYY HH:mm', true).isValid()
如果我尝试使用严格格式选项,我将无法验证有单个数字日期或月份的日期。我通过 excel 输入从字符串类型中获取此输入。
有没有办法只检查日期是否采用上述格式并且没有时间?
编辑 1:我最终列出了有效格式并将它们添加到严格验证中,使用 moment.js 验证作为临时解决方法。但我不确定这是否是一份详尽的格式列表。 我使用以下作为有效格式列表:
- "MM/DD/YYYY HH:mm"
- "MM/D/YYYY HH:mm"
- "M/DD/YYYY HH:mm"
- "MM/DD/YY HH:mm"
- "MM/DD/YYYY H:mm"
- "M/D/YYYY HH:mm"
- "M/DD/YY HH:mm"
- "M/DD/YYYY H:mm"
- "M/D/YY HH:mm"
- "M/D/YY H:mm"
- "MM/D/YY HH:mm"
【问题讨论】:
-
应该允许哪些输入?月-日-年+时间或
31/12/2019 0:00(即日-月-年)?无论如何看看moment(String, String[], Boolean)。 -
谢谢。我需要允许格式为 MM/DD/YYYY HH:mm、MM/DD/YY HH:mm、m/d/YY H:mm 的日期。任何没有时间的日期都应该被拒绝。
标签: javascript validation date momentjs