日付の正規表現一覧
スポンサーリンク

西暦表記の正規表現

[12]\d{3}[/.\-年](0?[1-9]|1[0-2])[/.\-月](0?[1-9]|[12][0-9]|3[01])日?

上記のコードの仕様は以下の通りです

  • 区切り文字は「/」もしくは「.」、「-」、「年」のいずれかの文字が対象
  • 年の入力は1000〜2999年の期間まで
  • 半角数字のみが対象
  • 月と日にちが一桁の場合に0が先頭についている場合を許容
  • 月と日にちが一桁の場合に0が先頭についていない場合を許容

区切り文字を変更したい場合

変更箇所は以下の2箇所です。

  • [/.\-年]
  • [/.\-月]

変更しない場合「/」もしくは「.」、「-」、「」のいずれかの文字が対象になります。

それぞれ[]の中から該当の文字を削除することで、許容文字を変更することができます。

ただし、「.」(ドット)を許容したくない場合に限り、「.\」の文字列を削除する必要があります。

「\」(バックスラッシュ)または「¥」(円マーク)はエスケープ文字と言って、「.」を文字列として認識するために必要な記述になります。

対象の年を変更したい場合

変更箇所は以下の1箇所です。

  • [12]\d{3}

変更しない場合1000〜2999年の期間が対象になります。

1000〜9999を対象にしたい場合

「[12]\d{3}」の部分を「[1-9]\d{3}」に変更します。

「[12]」では、先頭の数字を「1」もしくは「2」のみ対象としていましたが、「[1-9]」に変更することで「1〜9」までを対象になります。

「[1-9]」の数字を変更することで3999までを対象などの変更も可能です。その場合は「[1-3]\d{3}」と変更します。

0〜9999を許容したい場合

「[12]\d{3}」の部分を「\d{1,4}」に変更します。

「\d{1,4}」に変更することで、数字の1〜4桁の数字が対象になります。

月が一桁の場合の設定

変更箇所は以下の1箇所です。

  • (0?[1-9]|1[0-2])

変更しない場合には、先頭に0があるかどうかに関わらず対象になります。

月が一桁の場合に先頭に0を強制する

(0?[1-9]|1[0-2])の部分を(0[1-9]|1[0-2])に変更することで、月が一桁の場合に0の入力を強制することができます。

月が一桁の場合に先頭の0を制限する

(0?[1-9]|1[0-2])の部分を([1-9]|1[0-2])に変更することで、月が一桁の場合に0の入力を制限することができます。

日にちが一桁の場合の設定

変更箇所は以下の1箇所です。

  • (0?[1-9]|[12][0-9]|3[01])

変更しない場合には、先頭に0があるかどうかに関わらず対象になります。

日にちが一桁の場合に先頭に0を強制する

(0?[1-9]|[12][0-9]|3[01])の部分を(0[1-9]|[12][0-9]|3[01])に変更することで、日にちが一桁の場合に0の入力を強制することができます。

日にちが一桁の場合に先頭の0を制限する

(0?[1-9]|[12][0-9]|3[01])の部分を([1-9]|[12][0-9]|3[01])に変更することで、日にちが一桁の場合に0の入力を制限することができます。

楽天ブックス
¥2,970 (2024/06/17 17:23時点 | 楽天市場調べ)
スポンサーリンク
おすすめの記事