MM/dd 形式の日付を受け入れる必要があるテキストボックスがあります。それを行うための正規表現を提案してもらえますか
前もって感謝します
月の日付が正しいことを検証することは、いくつかのプログラミング ロジックを使用する方が簡単です。ユーザーが入力した xx/xx を検証する方法に関する質問に答えるには、xx は 1 桁または 2 桁の数字です。
powershellでは、次のようなものを使用します
$String = "02/24"
if ($String -match "(\d{1,2})/(\d{1,2})") {
# some code they got it right
Write-Host "good job"
# display the matches
$matches
} # end if
# blank line
write-host
$months = $(@(1..12) + @(1..9 | %{ $_.ToString("00") } ) ) -join "|"
$days = $(@(1..31) + @(1..9 | %{ $_.ToString("00") } ) ) -join "|"
write-host "months: " $months
write-host "days: " $days
if ($String -match "^($months)/($days)$") {
# some code they got it right
Write-Host "Slightly more complex good job"
# display the matches
$matches
} # end if
収量
good job
Name Value
---- -----
2 24
1 02
0 02/24
months: 1|2|3|4|5|6|7|8|9|10|11|12|01|02|03|04|05|06|07|08|09
days: 1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31|01|02|03|04|05|06|07|08|09
More complex good job
2 24
1 02
0 02/24
最初の if ブロックは迅速かつダーティであり、各フィールドに少なくとも 2 桁の数字を提供したことを検証します。2 番目の if ブロックは、もう少し優れた検証を行い、日付として使用できる値のみを許可します。