Es que cuando empieza por un número y luego hay caracteres no numéricos, con parseInt solo se ignora a partir del primer caracter no numérico y el resto lo convierte a entero. Podrías usar:
Código Javascript
:
Ver originalif (/^[0-9]+$/.test(valor))
// es número