我有一个正则表达式,与信用卡上的失效日期相匹配 我正在寻找的格式是mm / yy。以下是我在javascript中的功能
validateCreditCardExpiry: function(expiry){
if(this.isEmpty(expiry))
{
return false;
}
var regex = /^(0[1-9]|1[0-2])\/?([0-9]{2})$/;
if(!regex.test(expiry))
{
return false
}
return true
}
我尝试过使用上面的字符串,如12/33,返回false。有人可以帮我吗。谢谢
答案 0 :(得分:1)
除了我的评论(see your working regex here),您还可以很好地缩短您的功能:
validateCreditCardExpiry: function(expiry){
if (expiry) {
var regex = /^(0[1-9]|1[0-2])\/?([0-9]{2})$/;
if(regex.test(expiry)) return true;
}
return false;
}
或者 - 正如@anubhava在评论中指出的那样,甚至更短:
validateCreditCardExpiry: function(expiry){
return /^(0[1-9]|1[0-2])\/?[0-9]{2}$/.test(expiry);
}
答案 1 :(得分:0)
上面的正则表达式工作正常。我不知何故在'/'之间引入了空格。这就是问题