1. ホーム
  2. javascript

[解決済み] Javascriptの日付正規表現 DD/MM/YYYYY

2023-06-08 12:41:54

質問

私はそこに多くの正規表現のスレッドがあることを知っている、私はどこにも見つけることができなかった特定のパターンが必要です。

この正規表現は YYYY-MM-DD 形式で検証されます。

/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/

DD/MM/YYYYのパターンが必要です。 (スペイン語なので日が先で、"/"のみ、"-"は許されません)

私はいくつかの正規表現ライブラリを検索し、これは動作すると思います...しかし、私は正規表現に精通していないので、それがそのように検証されるかどうかわかりません。

(0[1-9]|[12][0-9]|3[01])[ \.-](0[1-9]|1[012])[ \.-](19|20|)\d\d

また、スラッシュをエスケープする方法がわかりません。文字列のロジックを "see" しようとしましたが、それは私にとって Matrix コードを "see" しようとするようなものです。私は正規表現の文字列をオプションの.jsに配置しています。

[...]  },
"date": {
                    "regex": (0[1-9]|[12][0-9]|3[01])[ \.-](0[1-9]|1[012])[ \.-](19|20|)\d\d,
                    "alertText": "Alert text AAAA-MM-DD"
                },
"other type..."[...]

もし正規表現が問題なければ、どのようにそれをエスケープすればいいのでしょうか? そうでない場合、正しい正規表現は何か、そしてそれをどのようにエスケープするか?

どうもありがとうございます。

どのように解決するのですか?

YYYY/MM/DD を検証する正規表現を、DD/MM/YYYY に必要なものを得るために反転させることができます。

/^(0?[1-9]|[12][0-9]|3[01])[\/\-](0?[1-9]|1[012])[\/\-]\d{4}$/

ところで - この正規表現は、DD/MM/YYYY または DD-MM-YYYY のいずれかを検証します。

追伸:この場合、31/02/4899 のような日付も許容されます。