文字列入力が日付の有効な形式であるかどうかを検出できる関数を作成する必要があります。許可される形式は次のとおりです。
#### (e.g. 2003)
##/#### (e.g. 12/2003)
#/#### (e.g. 9/2003)
##/####-##/#### (e.g. 12/2003-04/2005)
ただし、無効な文字列( "20031"、 "ABCD"、 "200A"など)を防ぐ必要があります。
これを行う関数はすでにVBで作成しましたが(以下)、Javascriptで作成する必要があります。
VB
Public Sub detectDateFormat(ByVal myDate As String)
If myDate Like "####" Then
'Do Stuff 1
ElseIf myDate Like "##/####" Or myDate Like "#/####" Then
'Do Stuff 2
ElseIf myDate Like "##/####-##/####" Then
'Do Stuff 3
Else
'Invalid date format
Exit sub
End If
End Function
javascriptには「Like」に相当するものがないようで、文字が数字か文字かを検出するのは難しいです。誰かがこれを行うための良い方法を提案できますか?