gpt4 book ai didi

javascript - 使用正则表达式进行日期验证

转载 作者:行者123 更新时间:2023-11-29 14:45:09 25 4
gpt4 key购买 nike

我正在尝试构建一个正则表达式来检查日期是否采用以下格式(11-2-07、1-25-2007 或 01/25/2007)。我的正则表达式如下所示:

/^([\d{2}\d{1}])([\-\/])([\d{2}\d{1}])(\-\/)([\d{2}\d{4}])$/

当我以所需格式在日期中输入日期时,方法 test() 实际上返回 false。你能帮我找出错误吗?

最佳答案

试试这个:

var re = /^([0123]?[\d])([\-\/])([0123]?[\d])([\-\/])((19|20)?\d\d)$/;
  1. 第一组和第三组匹配日期和月份,只能从0123开始>。如果您知道确切的日期格式,您可以从月份组中删除 3,或者使用 (0?[1-9]|1[012]) 作为月份组和 (0?[1-9]|[12][0-9]|3[01]) 用于日组。
  2. 第二组和第四组匹配连字符和斜杠分隔符。
  3. 最后一组匹配从 1920 开始的年份。

var re = /^([0123]?[\d])([\-\/])([0123]?[\d])([\-\/])((19|20)?\d\d)$/;

console.log('01-02-1999', re.test('01-02-1999'));
console.log('01/02/1999', re.test('01/02/1999'));
console.log('41-02-1999', re.test('41-02-1999'));
console.log('01/42/1999', re.test('01/42/1999'));

关于javascript - 使用正则表达式进行日期验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33837140/

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