[英]How to validate year range in Javascript?
我有此正则表达式来验证年份:
/^(201[5-9]|202[0-5])/.test(year) ? true : false
如您所见,年份具有以下模式: current_year + 10.years
,如何在不进行这种硬编码的情况下做到这一点? 我需要像这样的东西,但是它在Ruby中: valid_years = (Time.now.year..(Time.now.year+10))
您可以构建正则表达式字符串,然后使用它创建正则表达式对象,这非常简单。 这是一个示例,尽管这是一起匆匆忙忙的事,所以您可以重构使其更简单易读,但它确实可以正常工作:
var start = 2015;
var text = '' + start;
var x = parseInt(start / 10, 10);
var y = start % 10;
var regexString = '^(' + text.substring(0, 3) + '[' + y + '-9]|' + text.substring(0, 2) + (parseInt(text[2]) + 1) + '[0';
if(y > 0)
regexString += '-' + y;
regexString += '])';
console.log(regexString);
var regex = new RegExp(regexString);
var year = '2020';
var result = regex.test(year) ? true : false;
console.log(result);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.