【问题标题】:RegEx for 00:00 Time Format > 2400:00 时间格式的正则表达式 > 24
【发布时间】:2012-04-19 13:56:17
【问题描述】:

我发现了许多 RegEx 示例。例如:

^(20|21|22|23|[01]\d|\d)(([:][0-5]\d){1,2})$

可以使用 9:00 或 09:00。问题是,它被限制为 24 小时,但我需要它来验证持续时间,而不是确切的时间,所以它可能大于 24 小时。

我有一个使用 RegularExpressionValidator 验证的 TextBox。 我对正则表达式一无所知,也找不到某种生成器。

你能帮我完成这件事吗?

【问题讨论】:

  • 对您来说正确和错误的数据是什么? 99999999:00 是否允许?是否允许 0000001:00:00?
  • 如果超过 24 小时,它应该下降到 1 天。
  • @MrFox 不。只是持续时间。没有 1 天格式。只需几小时和几分钟。
  • @Default 只是 09:00、9:00,可能是 9.00 或 9。在用户可以录制的范围内。所有其他内容都可以在服务器端捕获。

标签: c# asp.net regex validation textbox


【解决方案1】:

只需使用:

^\d+(:[0-5]\d){1,2}$

【讨论】:

  • 谢谢。这似乎是解决方案。
【解决方案2】:

如果您不限于使用正则表达式,您可以使用TimeSpan 并让Parse 为您服务。然后您可以随意访问DaysHoursMinutes 等的不同属性。

对我来说,这比维护正则表达式要容易得多

【讨论】:

  • 我知道。但我受到正则表达式的限制 --> RegularExpressionValidator。
猜你喜欢
  • 2021-07-05
  • 2016-02-24
  • 2015-03-11
  • 1970-01-01
  • 2018-08-22
  • 1970-01-01
  • 2011-01-04
  • 2011-06-27
  • 1970-01-01
相关资源
最近更新 更多