重複の可能性:
有効時間を検証するための正規表現
私はasp.netで時間を検証するためにこのコードを書きました*
hh に "[0-9]?[0-9]+:[0-9]+[0-9]+:[0-9]+[0-9]+" を使用した場合のエラー: mm:ss 形式です。どのような場合でも機能しますか?
重複の可能性:
有効時間を検証するための正規表現
私はasp.netで時間を検証するためにこのコードを書きました*
hh に "[0-9]?[0-9]+:[0-9]+[0-9]+:[0-9]+[0-9]+" を使用した場合のエラー: mm:ss 形式です。どのような場合でも機能しますか?
正規表現ではなくTimeSpan.TryParseを使用して文字列を解析し、取得true
または取得するかどうかを確認できます。false
TimeSpan tempTimeSpan;
if (TimeSpan.TryParse("12:22:33", out tempTimeSpan))
{
//valid time
}
else
{
//Invalid time
}
以下の正規表現のコード スニペットは、日付と時刻を検証するのに役立ちます。これにより、うるう年も処理されます。
^(?=\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}) ?$