[解決済み】うるう年対応の日付形式dd/mm/YYYY, dd-mm-YYYY, dd.mm.YYYY, dd mmm YYY, dd-mmm-YYYY, dd/mmm/YYY, dd.mmm.YYY Yの正規表現で確認する。
2022-04-07 02:10:53
質問内容
日付の文字列を、以下のフォーマットで検証する必要があります。
dd/mm/yyyy
を正規表現で指定します。
この正規表現では
dd/mm/yyyy
のような無効な日付は含まれません。
31/02/4500
:
^(0?[1-9]|[12][0-9]|3[01])[\/\-](0?[1-9]|1[012])[\/\-]\d{4}$
を検証するための有効な正規表現とは?
dd/mm/yyyy
フォーマットをうるう年に対応させることはできますか?
解決方法を教えてください。
貼り付けた正規表現ではうるう年を正しく検証できませんが、検証できる正規表現があります。
同じ投稿で
.
を取るように修正しました。
dd/mm/yyyy
,
dd-mm-yyyy
または
dd.mm.yyyy
.
^(?:(?:31(\/|-|\.)(?:0?[13578]|1[02]))\1|(?:(?:29|30)(\/|-|\.)(?:0?[13-9]|1[0-2])\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})$|^(?:29(\/|-|\.)0?2\3(?:(?:(?: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]))\4(?:(?:1[6-9]|[2-9]\d)?\d{2})$
Arunさんの回答にあるリンク先で少しテストしてみたところ、さらに ここで で、動作するようです。
2019年2月14日編集:正規表現にあったカンマを削除したところ、以下のような日付が可能になりました。
29-0,-11
関連
-
[解決済み】Regexのオプショングループ
-
[解決済み] 正規表現で特定の単語を否定する方法は?重複
-
[解決済み] RegEx: 引用符で囲まれた値を取得する
-
[解決済み] 標準的な10桁の電話番号にマッチする正規表現
-
[解決済み] 正規表現におけるワードバウンダリとは何ですか?
-
[解決済み] 正規表現全体を否定するには?
-
[解決済み] JavaScriptの正規表現でマッチしたグループにアクセスするにはどうすればよいですか?
-
[解決済み] JSで文字列が正規表現にマッチするかどうかをチェックする
-
[解決済み] 正規表現で「この文字列までなら何でもあり」にマッチさせるには?
-
[解決済み] Microsoft Excelで正規表現(Regex)をセル内とループの両方で使用する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】JQuery Validateを使用してdd/mm/yyyy形式の日付を検証する【重複あり
-
[解決済み] XPathのcontains関数で正規表現を使用する方法
-
[解決済み] 2回目以降で一致する
-
[解決済み] Regex オプション文字にマッチさせる方法
-
[解決済み] 正規表現の末尾にある中括弧内のカンマ区切りの数字は何を意味するのですか?
-
[解決済み] スペースとタブの任意のシーケンスにマッチする正規表現を作成する方法
-
[解決済み] シェルスクリプトで正規表現を使用するにはどうすればよいですか?
-
[解決済み] regex オプションのワードマッチ
-
[解決済み] 正規表現におけるバックスラッシュの後の数値の意味は?
-
[解決済み] 2つ以上の連続した文字を検索するためのRegEx