Javascript 正则表达式can';t验证日期从28日到31日
我有这个正则表达式来验证Javascript 正则表达式can';t验证日期从28日到31日,javascript,regex,validation,date,datetime,Javascript,Regex,Validation,Date,Datetime,我有这个正则表达式来验证dd/mm/yyyyy,dd.mm.yyyy,dd-mm-yyyyy: 这将验证hh:mm: 现在,我尝试连接上述表达式以验证dd/mm/yyyy hh:mm,dd.mm.yyyy hh:mm,dd-mm-yyyy hh:mm: 但我有一个奇怪的错误。。。我无法验证从28/mm/yyyy 00:00到31/mm/yyyy 00:00的日期 有人能帮我找出问题出在哪里吗?Regex不是日期验证的最佳选择。验证日期的一个很好的方法是使用,它们内置了对日期的支持 func
dd/mm/yyyyy
,dd.mm.yyyy
,dd-mm-yyyyy
:
这将验证hh:mm
:
现在,我尝试连接上述表达式以验证dd/mm/yyyy hh:mm
,dd.mm.yyyy hh:mm
,dd-mm-yyyy hh:mm
:
但我有一个奇怪的错误。。。我无法验证从28/mm/yyyy 00:00到31/mm/yyyy 00:00的日期
有人能帮我找出问题出在哪里吗?Regex不是日期验证的最佳选择。验证日期的一个很好的方法是使用,它们内置了对日期的支持
function valiDate(ds) {
let validDates = ["DD/MM/YYYY hh:mm", "DD.MM.YYYY hh:mm", "DD-MM-YYYY hh:mm"];
return validDates.some(d => moment(ds, d).isValid())
}
console.log(valiDate("15.02.1985"));
console.log(valiDate("29.02.1985"));
console.log(valiDate("29.02.1985 00:00"));
以上内容将在有时间和无时间的情况下进行验证-如果您只传递了一个日期(1985年2月15日),它也将正确验证
正则表达式不是日期验证的最佳选择。验证日期的一个很好的方法是使用,它们内置了对日期的支持
function valiDate(ds) {
let validDates = ["DD/MM/YYYY hh:mm", "DD.MM.YYYY hh:mm", "DD-MM-YYYY hh:mm"];
return validDates.some(d => moment(ds, d).isValid())
}
console.log(valiDate("15.02.1985"));
console.log(valiDate("29.02.1985"));
console.log(valiDate("29.02.1985 00:00"));
以上内容将在有时间和无时间的情况下进行验证-如果您只传递了一个日期(1985年2月15日),它也将正确验证
是否应
2016年2月31日00:00
为有效日期?Mm。。。不它不应该是一个有效的日期;事实上,如果您在此处尝试2016年2月31日
:它没有验证,我希望与2016年2月31日00:00
也有相同的结果。中的regex不正确,因为它不接受2016年2月29日为有效。而且正则表达式已经太复杂了;你真的不想给它添加更多的逻辑。应该31/02/2016 00:00
是一个有效的日期吗?嗯。。。不它不应该是一个有效的日期;事实上,如果您在此处尝试2016年2月31日
:它没有验证,我希望与2016年2月31日00:00
也有相同的结果。中的regex不正确,因为它不接受2016年2月29日为有效。而且正则表达式已经太复杂了;你真的不想给它添加更多的逻辑。