我尝试使用以下模式来匹配信用卡到期日期:
(0[1-9]|1[0-2])\/?(([0-9]{4})|[0-9]{2}$)
我正在测试以下字符串:
02/13
0213
022013
02/2013
02/203
02/2
02/20322
它仅应匹配前四个字符串,而后三个则不应匹配,因为它们无效。但是,当前模式也与最后一个字符串匹配。我究竟做错了什么?
您缺少行锚的起点,^
并且括号不匹配。
这应该工作:
re = /^(0[1-9]|1[0-2])\/?([0-9]{4}|[0-9]{2})$/;
或使用单词边界:
re = /\b(0[1-9]|1[0-2])\/?([0-9]{4}|[0-9]{2})\b/;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句