2009-09-01 7 views

Répondre

9

Regular Expressions: Temps hh: mm validation format 24 heures:

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

Si vous avez besoin secondes aussi:

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

Modifier: Pour éviter de fuite AM/PM, partielle La correspondance ne peut pas être autorisée ou vous devez placer l'expression entre^et $.

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

Qu'en est-AM et PM? –

+1

@Manoj: ce n'est pas le point avec une horloge de 24 heures que vous omettez AM/PM? –

+0

@Fredrik @ eed3si9n, je pense que Manoj peut-être dire que cela permet AM/PM et ne devrait pas. Il a besoin d'ancres pour éviter cela. C'est-à-dire qu'il correspondrait à 23:15 AM – Ash

4

Essayez cette

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

Il est temps de 24 heures avec les secondes en option. (Source)

3

Qu'en est-il en utilisant DatePicker ou DateTimePicker selon si vous utilisez WPF ou Winforms? Cela pourrait être un meilleur UE de toute façon.

+0

J'ai lu vos liens, mais n'a pas été en mesure de comprendre complètement. puis-je avoir un exemple de code en utilisant vb.net. Comment puis-je l'utiliser dans mon code vb.net. Merci! –

+0

Juste google autour. Je suis sûr que vous pouvez trouver des exemples. Fondamentalement, le point que j'essayais de faire est que vous devriez probablement utiliser l'un des contrôles de date pré-construits si vous voulez vraiment que l'utilisateur saisisse des informations de date/heure. –

1

Essayez

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

Je vous suggère de jeter un oeil à The Regulator pour la prochaine fois quand vous avez besoin d'une expression régulière, est un excellent outil pour la conception de vos expressions.

1

Personnellement, plutôt que de suivre la voie de validation j'utiliser un contrôle comme un sélecteur de datetime pour les raisons suivantes:

  • zéro validation est nécessaire. En fait, la seule validation que vous feriez serait la validation des règles métier, par ex. Date de la commande ne peut pas être plus tard aujourd'hui, etc
  • plus facile sur l'utilisateur - vous ne devez pas dire à l'utilisateur de clé dans l'heure au format 24 heures
+0

http://stackoverflow.com/questions/1360801/net-regular-expression-for-time-24-hr-format/1360842#1360842 –

Questions connexes