我是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.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());
}
应该做的技巧