.NET Регулярное выражение для формата времени 24 часа - PullRequest
3 голосов
/ 01 сентября 2009

Могу ли я, пожалуйста, иметь регулярное выражение в .NET, которое позволит только 24-часовой формат времени в текстовом поле.

Спасибо.

С наилучшими пожеланиями, MS

Ответы [ 6 ]

10 голосов
/ 01 сентября 2009

Регулярные выражения: время чч: мм проверка 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))?$
5 голосов
/ 01 сентября 2009

Попробуйте это

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

Это 24-часовое время с дополнительными секундами. (Источник)

3 голосов
/ 01 сентября 2009

Как насчет использования DatePicker или DateTimePicker в зависимости от того, используете ли вы WPF или Winforms? В любом случае, это может быть лучше для УЭ.

1 голос
/ 01 сентября 2009

Лично, вместо того, чтобы идти по пути проверки, я бы использовал элемент управления, такой как указатель даты и времени, по следующим причинам:

  • Требуется нулевая проверка. Фактически единственной проверкой, которую вы выполняете, является проверка бизнес-правил, например Дата заказа не может быть позже, чем сегодня, и т. Д.
  • Проще для пользователя - вам не нужно указывать пользователю время в 24-часовом формате
1 голос
/ 01 сентября 2009

Попробуйте

^([0-1]?\d|2[0-3])(:[0-5]\d){1,2}$
0 голосов
/ 01 сентября 2009

Я бы посоветовал вам взглянуть на Регулятор в следующий раз, когда вам нужно регулярное выражение, это отличный инструмент для разработки ваших выражений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...