我正在尝试验证文本为有效日期,但答案却不正确
我尝试了诸如moments和date-fns之类的库,文本是免费的
因此可以是例如'eer 05/03/2345',为此文本js Date对象创建一个有效的date。
代码示例:
var t = moment('43 / 05/2020','dd / MM / yyyy');
console.log(t.isValid())//返回true
应该是假的
var t = moment('03 / 05/2020','dd / MM / yyyy',true);
console.log(t.isValid())//返回false应该为true
//使用date-fns
console.log(format(new Date('ssds 3/3/2020'),'dd / MM / yyyy')); //返回true应该为false
最佳答案
您使用了错误的格式。格式标记区分大小写。
let t = moment('43/05/2020','DD/MM/YYYY');
console.log(t.isValid());
t = moment('03/05/2020','DD/MM/YYYY',true);
console.log(t.isValid());
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>
您可以在此处获得更多详细信息:docs
关于javascript - 验证诸如'erere 03/05/2019'之类的文本为非法日期,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58526672/