誰でも "MM/DD/YY HH:mm: ss AM/PM "をasp.net 2.0の正規表現バリデーターで使用するにはasp.net正規表現バリデーターの日付/時刻フォーマット「MM/DD/YY HH:mm:ss AM/PM」の正規表現
答えて
これにはregexを使わないことを強くお勧めします。代わりに、独自のバリデータ(BaseValidatorを継承)を作成し、DateTime.TryParseExactを使用して値をDateTimeに変換できることを確認する必要があります。
クライアント側(JavaScriptの)検証のために、あなたはあなたのスペックに対して、構文(数字、スペース、セパレータ)をチェックします
^\d\d/\d\d/\d\d \d\d:\d\d:\d\d [AP]M$
、
厳密を使用することができます。一致が得られた場合は、返された一致のサブグループに入力された値の範囲(例:1 < =月< = 12など)を確認する必要があります。
this siteを使用して正規表現をテストします。
あなたはこれを試すことができます
(0[1-9]|1[012])/(0[1-9]|[12][0-9]|3[01])/\d\d (0[0-9]|1[0-9]|2[0-4]):([0-5][0-9]):([0-5][0-9]) [AM|PM]
は、それはあなたの問題を解決を願っています。
(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.](19|20)\d\d
フォーマットは
旧質問MM-DD-YYYYですが、頻繁に尋ねました。
うるう年を含むすべての日付を一致させる正規表現。 MM-DD-YYYY形式の場合DD-MM-YYYY形式
^(?:31#(?:(?:0[13578])|(?:1[02]))#)|(?:(?:29|30)#(?:(?:0[1,3-9])|(?:1[0-2]))#)(?:(?:1[6-9]|[2-9]\d)\d{2})$|^(?:29#02#(?:(?:(?:1[6-9]|[2-9]\d)(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:(?:0[1-9])|(?:1\d)|(?:2[0-8]))#(?:(?:0[1-9])|(?:1[0-2]))#(?:(?:1[6-9]|[2-9]\d)\d{2})$
については
^(?:(?:(?:0?[13578]|1[02])#31)\1|(?:(?:0?[1,3-9]|1[0-2])#(?:29|30)\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})$|^(?:0?2#29\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:(?:0?[1-9])|(?:1[0-2]))#(?:0?[1-9]|1\d|2[0-8])\4(?:(?:1[6-9]|[2-9]\d)?\d{2})$
ご希望の日付の区切りとREGの元に#を変更してください。グローバルセパレータの場合は、#を(/ | - |)に置き換えてください。
RegExは、次の日付に対してテストされ、正常に実行されています。パフォーマンスもリストされています。
29-02-2000 ---> true
millis 2
29-02-2006 ---> false
millis 0
29-02-2001 ---> false
millis 0
30-02-2000 ---> false
millis 0
31-11-2000 ---> false
millis 0
29-13-2000 ---> false
millis 0
31-11-2000 ---> false
millis 0
31-07-2000 ---> true
millis 0
31-08-2000 ---> true
millis 1
31-12-2000 ---> true
millis 0
30-11-2011 ---> true
millis 0
17-07-2011 ---> true
millis 0
04-10-1987 ---> true
millis 0
01-01-1900 ---> true
millis 0
24-05-88 ---> false
millis 0
24-05-88 ---> false
millis 0
29-12-2011 ---> true
millis 0
31-12-2000 ---> true
millis 0
1-1-2010 ---> false
millis 0
1-1-99 ---> false
millis 0
1-01-99 ---> false
millis 0
01-1-99 ---> false
millis 0
これは、このいずれかをチェックし、私のため
^(?=\d)(?:(?:(?:(?:(?:0?[13578]|1[02])(\/|-|\.)31)\1|(?:(?:0?[1,3-9]|1[0-2])(\/|-|\.)(?:29|30)\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})|(?:0?2(\/|-|\.)29\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))|(?:(?:0?[1-9])|(?:1[0-2]))(\/|-|\.)(?:0?[1-9]|1\d|2[0-8])\4(?:(?:1[6-9]|[2-9]\d)?\d{2}))($|\ (?=\d)))?(((0?[1-9]|1[012])(:[0-5]\d){0,2}(\ [AP]M))|([01]\d|2[0-3])(:[0-5]\d){1,2})?$
これは私のためにもうまくいきましたが、投稿してから4年後には大きな助けになりました。 –
を働きました。また、うるう年を検証します。
^(((0[13578]|1[02])[\/\.-](0[1-9]|[12]\d|3[01])[\/\.-]((19|[2-9]\d)\d{2})\s(0[0-9]|1[0-2]):(0[0-9]|[1-59]\d):(0[0-9]|[1-59]\d)\s(AM|am|PM|pm))|((0[13456789]|1[012])[\/\.-](0[1-9]|[12]\d|30)[\/\.-]((19|[2-9]\d)\d{2})\s(0[0-9]|1[0-2]):(0[0-9]|[1-59]\d):(0[0-9]|[1-59]\d)\s(AM|am|PM|pm))|((02)[\/\.-](0[1-9]|1\d|2[0-8])[\/\.-]((19|[2-9]\d)\d{2})\s(0[0-9]|1[0-2]):(0[0-9]|[1-59]\d):(0[0-9]|[1-59]\d)\s(AM|am|PM|pm))|((02)[\/\.-](29)[\/\.-]((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))\s(0[0-9]|1[0-2]):(0[0-9]|[1-59]\d):(0[0-9]|[1-59]\d)\s(AM|am|PM|pm)))$
06/12/2014 12:45:56 AM // true
11-12-1965 06:04:34 PM // true
11/31/2015 11:40:00 AM // false
12-31-1945 01:38:09 PM // true
02/29/2012 09:04:10 AM // true [leap year]
02/29/2013 09:04:10 AM // false
06.12.2014 13:04:10 AM // false
@downvoter説明をする – hex494D49
- 1. Asp.net正規表現バリデーター
- 2. \ *、\ |、\ ^、\〜の正規表現バリデーター
- 3. FQDN/URL形式バリデーター正規表現の正規表現2
- 4. 正規表現誕生日の日付時刻
- 5. phpの日付と時刻の正規表現
- 6. 正規表現の正規表現の正規表現
- 7. OCaml正規表現日付時間
- 8. ASP.netバリデーターの正規表現とアクセント付きの名前/アクセント
- 9. 時刻エントリの正規表現検証
- 10. 正規表現asp.net
- 11. 正規表現の正規表現と ' -
- 12. 正規表現の正規表現データ
- 13. 正規表現の正規表現
- 14. C#正規表現の正規表現
- 15. 正規表現用の正規表現
- 16. Python正規表現日付YHYY-MM-DD HH:MM:SS
- 17. 正規表現バリデーター:クライアント側のバリデーション
- 18. 日付正規表現に日付フォーマットを追加します
- 19. 正規表現が、私は、日付と時刻の抽出のためNLTK正規表現を使用しています日付と時刻
- 20. 正規表現 - 正規表現
- 21. 。NET正規表現(正規表現)
- 22. 正規表現 - 正規表現
- 23. 正規表現(正規表現)Java
- 24. (?=正規表現)VS(?:正規表現)
- 25. Pythonの正規表現の日付ギ
- 26. Oracleの正規表現の日付
- 27. 正規表現以外の日付と一致する正規表現
- 28. asp.netの正規表現
- 29. 正規表現の正規表現(HHh MMs SSs)(任意の時間付き)
- 30. 正規表現日付の検証エラー
が、私はクライアント側でこれを検証したい、私は は、サーバ側に行くべきではないと私はボタンのクライアントのクリックを使用している場合validate.Andもう一つは、他のすべての必要なバリデータです動作していません。 –