Javascript の parseInt 関数は完全には機能していないようです。
parseInt("01") returns 1
parseInt("02") returns 2
parseInt("03") returns 3
parseInt("04") returns 4
parseInt("05") returns 5
parseInt("06") returns 6
parseInt("07") returns 7
parseInt("08") returns 0
parseInt("09") returns 0
それは説明できません。ぜひお試しください。(jsFiddle)
ベストアンサー1
これは、数字が「0」で始まる場合、8 進数として扱われるためです。
ベースを 2 番目のパラメータとして渡すことで、ベースを強制することができます。
parseInt("09", 10) // 9
によるとドキュメント2番目のパラメータはオプションですが、常にではない例からわかるように、10 と想定されます。