我需要一个正则表达式来限制0-24小时的输入,其中小数的倍数为.25。请记住以下条件必须满足:正则表达式允许15分钟增量的小时数
- 当整体的一部分是0-23位,小数部分可能是2.0,1.25,0.5或0.75
- 当整体的一部分是24 ,小数部分可以是0.0
- 当没有整体的一部分存在时,小数部分必须是0.0,0.25,0.5,或0.75
- 空字符串不允许
我我非常有信心可以收紧以下表达方式,但这就是现实ce到目前为止:
(^(([0-9])|(1[0-9])|(2[0-3]))(\.((0*)|(250*)|(50*)|(750*)))?$)|(^24(\.0*)?$)|(^\.((0+)|(250*)|(50*)|(750*))$)
更新:正则表达式验证存在于客户端(javascript)和服务器(asp.net,c#)上。
让24.0和0.0一样不合逻辑,因为它们是同一时间。 – caf 2009-07-26 22:04:34
@caf:除非你正在注册持续时间而不是时间。小时登记系统,每天或某物。我衷心希望没有人会需要使用“24”选项:) – Thorarin 2009-07-26 22:15:07
当然,但0.0长度的预订听起来有点鱼腥。 – caf 2009-07-27 03:58:13