gpt4 book ai didi

javascript - 正则表达式日期表达式不起作用

转载 作者:行者123 更新时间:2023-11-28 12:38:22 25 4
gpt4 key购买 nike

我有一个 JavaScript 函数可以进行一些日期验证。

var regex = new RegExp(my regex expression is here);

var result = regex.test(valueToTest);

但是,在过去的几个小时里我一直在追寻自己的尾部,因为测试总是返回 false。

This does not work
^(0[1-9]|[12][0-9]|3[01])/(0[1-9]|1[012])/(19|20)\d\d$

This does not work
^(0[1-9]|[12][0-9]|3[01])/(0[1-9]|1[012])/(19|20)\d{2}$

This works
^(0[1-9]|[12][0-9]|3[01])/(0[1-9]|1[012])/(19|20)[0-9]{2}$

这 3 个模式之间的唯一区别是最后 2 位数字。所有看起来都完全有效,但只有第三个返回 true。

我试图了解我是否做错了什么,或者浏览器 (Firefox) 是否存在任何问题。

有什么想法吗?

最佳答案

没有正则表达式的验证怎么样?

function validateDate(string) {
var parts = string.split("/");
var year = parseInt(parts[2]);
var month = parseInt(parts[1]) - 1;
var day = parseInt(parts[0]);
var date = new Date(year, month, day);
return date.getFullYear() === year && date.getMonth() === month && date.getDate() === day;
}

Demo

关于javascript - 正则表达式日期表达式不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14755637/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com