.NET正则表达式,适用于24小时格式

时间:2009-09-01 06:18:47

标签: vb.net regex

我可以在.NET中使用正则表达式,它只允许文本框中的24小时时间格式。

感谢。

最诚挚的问候, MS

6 个答案:

答案 0 :(得分:10)

正则表达式:时间hh:mm验证24小时格式:

([0-1]\d|2[0-3]):([0-5]\d)

如果您还需要秒数:

([0-1]\d|2[0-3]):([0-5]\d)(:([0-5]\d))?

修改: 要防止跟踪AM / PM,不能允许部分匹配,或者必须将表达式放在^和$之间。

^([0-1]\d|2[0-3]):([0-5]\d)(:([0-5]\d))?$

答案 1 :(得分:5)

试试这个

^(([0-1]?[0-9])|([2][0-3])):([0-5]?[0-9])(:([0-5]?[0-9]))?$

可选秒数为24小时。 (Source)

答案 2 :(得分:3)

根据您使用的是WPF还是Winforms,使用DatePickerDateTimePicker怎么样?无论如何,这可能是一个更好的UE。

答案 3 :(得分:1)

尝试

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

答案 4 :(得分:1)

就个人而言,我会使用像日期时间选择器这样的控件而不是验证路线,原因如下:

  • 需要零验证。实际上,您所做的唯一验证是业务规则验证,例如订单日期不能晚于今天等
  • 用户更容易 - 您无需告诉用户以24小时格式输入时间

答案 5 :(得分:0)

我建议您在下次需要正则表达式时查看The Regulator,这是设计表达式的绝佳工具。