1

重複の可能性:
有効時間を検証するための正規表現

私はasp.netで時間を検証するためにこのコードを書きました*

hh に "[0-9]?[0-9]+:[0-9]+[0-9]+:[0-9]+[0-9]+" を使用した場合のエラー: mm:ss 形式です。どのような場合でも機能しますか?

4

2 に答える 2

3

正規表現ではなくTimeSpan.TryParseを使用して文字列を解析し、取得trueまたは取得するかどうかを確認できます。false

TimeSpan tempTimeSpan;
if (TimeSpan.TryParse("12:22:33", out tempTimeSpan))
{
    //valid time
}
else
{
    //Invalid time
}
于 2012-11-14T07:31:10.403 に答える
0

以下の正規表現のコード スニペットは、日付と時刻を検証するのに役立ちます。これにより、うるう年も処理されます。

^(?=\d)(?:(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(? =.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][ 26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:\x20|$))|(?:2[0-8]| 1\d|0?[1-9]))([-./])(?:1[012]|0?[1-9])\1(?:1[6-9]|[2 -9]\d)?\d\d(?:(?=\x20\d)\x20|$))?(((0?[1-9]|1[012])(:[0- 5]\d){0,2}(\x20[AP]M))|([01]\d|2[0-3])(:[0-5]\d){1,2}) ?$
于 2012-11-14T07:56:47.183 に答える