3

正規表現が苦手です。うるう年も検証する dd/mm/yyyy 形式を検証するコードを取得しました。mm/dd/yyyy で機能するように変更しようとしましたが、すべて失敗しました。

mm/dd/yyyy 形式を検証するように変更できますか?

正規表現:

^(((0[1-9]|[12]\d|3[01])/(0[13578]|1[02])/((19|[2-9]\d)\d{ 2}))|((0[1-9]|[12]\d|30)/(0[13456789]|1[012])/((19|[2-9]\d)\d{ 2}))|((0[1-9]|1\d|2[0-8])/02/((19|[2-9]\d)\d{2}))|(29 /02/((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048] ]|[3579][26])00))))$

皆さん こんにちは

正規表現:

/^(((0[13578]|1[02])/(0[1-9]|[12]\d|3[01])/((19|[2-9]\d)\d {2}))|((0[13456789]|1[012])/(0[1-9]|[12]\d|30)/((19|[2-9]\d)\d {2}))|(02/(0[1-9]|1\d|2[0-8])/((19|[2-9]\d)\d{2}))|( 02/29/((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][ 048]|[3579][26])00))))$/g

4

1 に答える 1

5

試してみてください

function validateDate(testdate) {
    var date_regex = /^(0[1-9]|1[0-2])\/(0[1-9]|1\d|2\d|3[01])\/(19|20)\d{2}$/ ;
    return date_regex.test(testdate);
}

ただし、日付文字列から正規表現を使用Date objectしてから検証することをお勧めします。

于 2013-07-06T12:37:59.770 に答える