格式为mm/yyyy的日期正则表达式不起作用

Date regex of format mm/yyyy is not working

本文关键字:日期 正则表达式 不起作用 yyyy mm 格式      更新时间:2023-09-26

我是regex的新手。我使用正则表达式'^((0?[1-9]|1[012])[- /.](20)?[0-9]{2})$'验证MM/YYYY格式的信用卡到期日期。

这是我的javascript函数,它检查正则表达式,并在TRUEFALSE中给出响应。

function isValidThruDate(valid_till){
   var regex = new RegExp('^((0?[1-9]|1[012])[- /.](20)?[0-9]{2})$');
   return regex.test(valid_till);
}

但每当我通过日期时,它都会返回FALSE。我搞不清楚问题出在哪里。

function isValidThruDate(valid_till){
   return /^((0?[1-9]|1[012])'s*(?:[-/.]'s*)?(20)?[0-9]{2})$/.test(valid_till);
}

处理空格:

function isValidThruDate(valid_till){
   var regex = new RegExp('^((0?[1-9]|1[012])[- /.](20)?[0-9]{2})$');
   return regex.test(valid_till.trim());
}

应该做的技巧