Validation 使用MomentJS验证日期格式(不是日期字符串)?
我知道可以使用“.isValid()”函数检查给定字符串是否为日期格式:Validation 使用MomentJS验证日期格式(不是日期字符串)?,validation,date,datetime,format,momentjs,Validation,Date,Datetime,Format,Momentjs,我知道可以使用“.isValid()”函数检查给定字符串是否为日期格式: moment('2007-05-05', 'YYYY-MM-DD', true).isValid() 但是有没有办法确认格式是正确的呢?例如: 'YYYY-MM-DD'应返回true,但 'YYYY-MM-ddsaddl'应返回false,因为字符串末尾的字符不是有效的日期时间字符 我们正在开发一个工具,允许用户输入一个现有的日期格式,然后再输入第二个输入以输入所需的格式,但我们需要验证以确保字符串可以正确解析和转换,但
moment('2007-05-05', 'YYYY-MM-DD', true).isValid()
但是有没有办法确认格式是正确的呢?例如:
'YYYY-MM-DD'
应返回true
,但
'YYYY-MM-ddsaddl'
应返回false
,因为字符串末尾的字符不是有效的日期时间字符
我们正在开发一个工具,允许用户输入一个现有的日期格式,然后再输入第二个输入以输入所需的格式,但我们需要验证以确保字符串可以正确解析和转换,但他们没有输入特定的日期
应用程序必须接受任何和所有可能的日期格式。使用以下功能验证您的格式
validFormat = function(inputFormat){
var validation = moment(moment('2017-06-17').format(inputFormat), inputFormat).inspect();
if(validation.indexOf('invalid') < 0)
return true;
else
return false;
}
const getIsValid=inputFormat=>矩(矩().format(inputFormat),inputFormat.isValid()
说明:
moment().format(inputFormat)
-使用该格式从当前时间创建日期字符串
然后用
moment()
将该字符串包装为moment
date对象,定义解析该字符串的格式。最后,我们调用该moment
date对象的isValid()
属性。这确保了我们能够使用自定义格式创建和解析时刻。感谢您的帮助!这似乎奏效了。我一定会仔细阅读,我一定要确保我掌握了这个函数的功能。对于会议,它总是返回false
弃用警告:对于有效的日期格式,如“DD/MM/YYYY”,它也会发出弃用警告考虑到时刻
不再积极开发,我无法想象会有什么麻烦。我也非常确定我们在应用程序中使用的正是这个解决方案,我想不起来看到过任何弃用警告。您看到的警告是什么?实际上我们修复了一个bug,所以我更新了答案以包含该修复。这确实抑制了弃用警告!并适用于包括文字在内的复杂格式。
validFormat('YYYY MM DD')