La fonction JavaScript parseInt () n'arrive pas à analyser correctement les nombres avec 0

J'ai des zéros avant un entier positif. Je veux supprimer les zéros de sorte que seul l'entier positif reste. Comme '001' sera seulement '1'. Je pensais que le moyen le plus simple était d'utiliser parseInt ('001'). Mais ce que j'ai découvert, c'est qu'il ne fonctionne pas pour les numéros 8 et 9. L'exemple parseInt ('008') entraînera '0' au lieu de '8'.

Voici le code html entier:

<html> <body> <script> var integer = parseInt('002'); document.write(integer); </script> </body> </html> 

Mais puis-je en quelque sorte signaler ce problème? Est-ce que quelqu'un connaît une autre solution facile de ce problème?

Ceci est un comportement documenté: http://www.w3schools.com/jsref/jsref_parseInt.asp

Les cordes avec un '0' principal sont analysées comme si elles étaient octales.

Vous devez spécifier la base du numéro (radix)

 parseInt('01', 10); 

Le nombre préfixé avec zéro est analysé comme octal.

Ce n'est pas vraiment un bug. Pour des raisons d'héritage, les chaînes commençant par 0 sont interprétées en octal, et en octal, il n'y a pas de chiffre 8. Pour contourner cela, vous devez passer explicitement une base (c.-à-d. parseInt("008", 10) ).