我是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 作为回报。我无法弄清问题是什么。
答案 0 :(得分:1)
function isValidThruDate(valid_till){
return /^((0?[1-9]|1[012])\s*(?:[-/.]\s*)?(20)?[0-9]{2})$/.test(valid_till);
}
答案 1 :(得分:0)
处理空格:
function isValidThruDate(valid_till){
var regex = new RegExp('^((0?[1-9]|1[012])[- /.](20)?[0-9]{2})$');
return regex.test(valid_till.trim());
}
应该做的伎俩