关于时间的正则求助

需要校验形如:'HH:MM;'的格式,HH为小时,从00-23;MM为分钟,从00-59;可以多个重复,以分号结尾;例如:

00:00;
23:59;
18:23;12:07;
01:12;12:22;20:00;

求助正则高手,非常感谢啊!

阅读 1.5k
2 个回答

固定HH:MM;的时间格式校验应该还是很好写的吧

00:00-19:59分成一段,[0-1][0-9]:[0-5][0-9];
20:00-23:59分成一段,2[0-3]:[0-5][0-9];

然后就是一个或者多个了,+

/^(([0-1]\d|2[0-3]):[0-5]\d;)+$/.test('00:00;23:50;')

这个正则的话界定很不明显,不好写因为都是数字加冒号,建议转换一种思路,自己写模板然后去替换他,最后看看是否符合模板,具体实现方法https://segmentfault.com/a/11...
这里面的parse就是这样一种思路,看下能不能解决你的问题

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题