日付の検証を行うJavaScript関数があります。
var regex = new RegExp(my regex expression is here);
var result = regex.test(valueToTest);
ただし、テストが常に false を返すため、ここ数時間は尻尾を追いかけていました。
This does not work
^(0[1-9]|[12][0-9]|3[01])/(0[1-9]|1[012])/(19|20)\d\d$
This does not work
^(0[1-9]|[12][0-9]|3[01])/(0[1-9]|1[012])/(19|20)\d{2}$
This works
^(0[1-9]|[12][0-9]|3[01])/(0[1-9]|1[012])/(19|20)[0-9]{2}$
3 つのパターンの唯一の違いは、最後の 2 桁です。すべてが完全に有効に見えますが、3 番目のものだけが true を返します。
私が間違ったことをしたかどうか、またはブラウザー (Firefox) に問題があるかどうかを理解しようとしています。
何か案は?