使用 moment.js 检查日期格式
check format of date with moment.js
我正在从我屏幕上的日历中输入这种类型的内容
DD-MMM-YYYY HH:mm a
但用户可以通过键盘提供日期。现在我必须检查用户是否以正确的格式提供了日期。我在我的应用程序中大量使用 moment.js 并像这样验证它
if(angular.equals(moment(scope.modelValue).format('DD-MMM-YYYY HH:mm a'), 'Invalid date'))
{
alert('date is not correct');
}
else
{
alert('date is correct');
}
它工作正常,但问题是如果我提供像“18-Feb-2015 2”这样的输入
然后它被转换为'18-Feb-2015 00:00 am'。那么现在如何检查格式是否正是我想要的?请帮助..
要检查日期格式,您可以使用:
moment(checked_date, DATE_FORMAT).format(DATE_FORMAT) === checked_date
如果只是为了检查下面是更好的选择
moment(scope.modelValue, 'DD-MMM-YYYY HH:mm a', true).isValid()
如果您没有特定的日期格式,那么您也可以使用格式数组,
moment(checked_date, [DATE_FORMAT1, DATE_FORMAT2]).format(DATE_FORMAT)
=== checked_date
我正在从我屏幕上的日历中输入这种类型的内容
DD-MMM-YYYY HH:mm a
但用户可以通过键盘提供日期。现在我必须检查用户是否以正确的格式提供了日期。我在我的应用程序中大量使用 moment.js 并像这样验证它
if(angular.equals(moment(scope.modelValue).format('DD-MMM-YYYY HH:mm a'), 'Invalid date'))
{
alert('date is not correct');
}
else
{
alert('date is correct');
}
它工作正常,但问题是如果我提供像“18-Feb-2015 2”这样的输入 然后它被转换为'18-Feb-2015 00:00 am'。那么现在如何检查格式是否正是我想要的?请帮助..
要检查日期格式,您可以使用:
moment(checked_date, DATE_FORMAT).format(DATE_FORMAT) === checked_date
如果只是为了检查下面是更好的选择
moment(scope.modelValue, 'DD-MMM-YYYY HH:mm a', true).isValid()
如果您没有特定的日期格式,那么您也可以使用格式数组,
moment(checked_date, [DATE_FORMAT1, DATE_FORMAT2]).format(DATE_FORMAT)
=== checked_date