我正在尝试验证文本为有效日期,但是答案错误
我尝试了诸如moments和date-fns之类的库,文本是免费的 因此可以是例如'eer 05/03/2345',为此文本js 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应该为真
//使用date-fns
console.log(format(new Date('ssds 3/3/2020'),'dd / MM / yyyy')); //返回true应该为false
答案 0 :(得分:1)
您使用了错误的格式。格式标记区分大小写。
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
答案 1 :(得分:0)
有一些验证日期的帖子,如果您使用的话,请看一下。
var dateEntered = $('#txtEnteredDate').val();
if (!moment(dateEntered,'MM-DD-YYYY').isValid()) {
console.log('Invalid Date');
} else {
console.log('Valid Date');
}
上面的代码来自以下网址:Managing Dates and Times Using Moment.js
您还可以查看以下网址:Javascript - Regex to validate date format