gpt4 book ai didi

Javascript正则表达式验证1945年至当前年份之间的输入年份

转载 作者:行者123 更新时间:2023-11-30 09:24:01 25 4
gpt4 key购买 nike

我想使用正则表达式验证输入年份从 1945 年到当前年份的输入文本。但我仍然不知道如何获取动态年份。我从 stackoverflow 看到了很多引用资料,但他们只这样做了对于静态年份,如 1945 - 2000。

我想让它动态化,就像用户只能输入1945年到2018年(当前年份),如果用户输入2019年,它将显示错误

这是静态的:

let yearPattern = new RegExp(/^(194[5-9]|19[5-9]\d|200\d|2018)$/)

我尝试过欺骗它,但我认为验证不起作用

我尝试过这样的:

let currentYear = moment(new Date()).format('YYYY').split('')
let yearPattern = new RegExp(/^(1769|17[7-9]\d|18\d\d|19\d\d|200\d|current)$/)
let valid = yearPattern.replace("current", `[2-${currentYear[0]}][0-${currentYear[1]}][0-${currentYear[2]}][0-${currentYear[3]}]`

使用结束后,我的验证将不起作用..

最佳答案

为什么使用RegEx而不是简单地检查日期是否不小于1945或大于当前年份>?

使用RegEx来完成这样一个简单的任务会使事情变得相当复杂。相反,寻求更简单的解决方案。

像这样

var input = "2011";
var currentYear = new Date().getFullYear();

if(input < 1945 == false && input > currentYear == false)
{
// Correct input data given, its not smaller than 1945 or bigger than current year
console.log(true);
}
else
{
// Date is either smaller than 1945 or bigger than current year, return false.
console.log(false);
}

关于Javascript正则表达式验证1945年至当前年份之间的输入年份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49912774/

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