【发布时间】:2018-10-24 14:20:42
【问题描述】:
我正在努力验证具有以下限制的跟踪信息:
格式:COPYYYY#####
COP是每个跟踪信息的固定前缀
YYYY 是提交跟踪信息的年份(有效年份:2015-2018)
##### 是一个随机生成的 5 位数字
跟踪信息只能包含 3 个字母字符(COP 前缀)
跟踪信息的前 3 个字母字符后面应该正好有 9 个数字字符。
跟踪信息的长度应正好为 12 个字符
由于正则表达式不是验证数字范围的好方法,我决定在格式有效后检查一年。
COP 后跟 9 位数字(即COPXXXXXXXXX)
下面的正则表达式总是返回 false,即使输入正确。
/^COP\d{9}$/
请对上述正则表达式提出更正建议,并分享有关在正则表达式中验证年份范围的想法(如果它是更简洁的方法)。
【问题讨论】:
-
你能分享你的代码吗?
-
另外请修复您的标签。是java还是javascript?
-
带有年份的正则表达式可能是
^COP201[5-8]\d{5}$,但^COP\d{9}$在有 9 位数字时也会匹配。你能分享你的代码吗?
标签: javascript java regex regex-lookarounds regex-group