【发布时间】:2015-01-10 04:59:55
【问题描述】:
我是正则表达式的新手。我正在使用正则表达式 '^((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 作为回报。我无法弄清楚是什么问题。
【问题讨论】:
-
哪个日期不适合您?我刚试过这个,它按预期工作。注意:此正则表达式不会测试日期是否在未来..
-
但是.. 过期日期必须在未来 :D
-
接受year > 2014可以吗?
-
用
\s*(?:[-/.]\s*)?替换[- /.]- 如果你使用字符串来构造正则表达式,记得加倍反斜杠(使用文字/..../总是比使用new Regexp('...')更好,除非你需要动态生成正则表达式)
标签: javascript regex date