Javascript 格式为mm/yyyy的日期正则表达式不起作用
我不熟悉regex。我正在使用正则表达式Javascript 格式为mm/yyyy的日期正则表达式不起作用,javascript,regex,date,Javascript,Regex,Date,我不熟悉regex。我正在使用正则表达式“^((0?[1-9]| 1[012])[-/.](20)?[0-9]{2})$”验证MM/YYYY格式的信用卡到期日 这是我的javascript函数,它检查正则表达式并在TRUE或FALSE中给我响应 function isValidThruDate(valid_till){ var regex = new RegExp('^((0?[1-9]|1[012])[- /.](20)?[0-9]{2})$'); return regex.te
“^((0?[1-9]| 1[012])[-/.](20)?[0-9]{2})$”
验证MM/YYYY格式的信用卡到期日
这是我的javascript函数,它检查正则表达式并在TRUE或FALSE中给我响应
function isValidThruDate(valid_till){
var regex = new RegExp('^((0?[1-9]|1[012])[- /.](20)?[0-9]{2})$');
return regex.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());
}
应该这样做什么日期不适合你?我刚试过这个,效果和预期的一样。注意:此正则表达式不测试日期是否在未来..但是。。过期日期必须在将来:d查看此链接是否可以接受year>2014?将
[-/.]
替换为\s*(?:[-/.]\s*)?
-如果使用字符串构造Regexp(使用文字/../../
总是比使用新Regexp(“…”)更好
除非您需要动态生成的regexp)
function isValidThruDate(valid_till){
return /^((0?[1-9]|1[012])\s*(?:[-/.]\s*)?(20)?[0-9]{2})$/.test(valid_till);
}