我想知道是否可以添加更多检查:[以前回答的问题]( 尝试构建正则表达式来检查模式).
使用Brian Rogers的正则表达式可以很好地解决上述问题:
/^([1-9]|[12][0-9]|3[01])(-([1-9]|[12][0-9]|3[01]))?(,([1-9]|[12][0-9]|3[01])(-([1-9]|[12][0-9]|3[01]))?)*$/
Run Code Online (Sandbox Code Playgroud)
[仅供参考,再次发布较旧的问题]
例如, 2-2,1
OR 2,2-1
无效,1-1-1-1
无效.
例如:
- 1-5,5,15-29
- 1,28,1-31,15
- 15,25,3 - 1-24,5-6,2-9
这可以更进一步,并添加其他验证?
1)数字应按升序排列
例如:
- 1,2-3 - 有效
- 4-6,23 - 有效
- 23,4-5 - 无效
2)数字不应重复
例如:
a)2,2,2 - 无效
b)2,3-6,3 - 无效
c)2,5,7-20 - 有效
3)如果可能,
如果先前在范围
Eg中定义,则不应重复编号:
a)2,3-6,4 - 无效,因为4已经是3到6之间的数字
b)12-16,14-18 - 无效,因为14,15和16已经在12-16
c)9-13,15,17-19中定义- 有效