padstart - quitar ceros a la izquierda de un string javascript
Quite los ceros a la izquierda de un nĂºmero en Javascript (3)
Posible duplicado:
Truncar los ceros a la izquierda de una cadena en Javascript
¿Cuál es la forma más simple y compatible con varios navegadores para eliminar los ceros a la izquierda de un número en Javascript?
por ejemplo, si tengo un valor de cuadro de texto como 014 o 065, solo debería devolver 14 o 65
No está claro por qué quieres hacer esto. Si quiere obtener el valor numérico correcto, puede usar unary +
[docs] :
value = +value;
Si solo quieres formatear el texto, entonces la expresión regular podría ser mejor. Depende de los valores con los que estás tratando, diría yo. Si solo tienes enteros, entonces
input.value = +input.value;
está bien también Por supuesto, también funciona para valores flotantes, pero dependiendo de la cantidad de dígitos que tenga después del punto, convertirlo en un número y volver a una cadena podría (al menos para mostrar) eliminar algunos.
Prueba parseInt .
parseInt("065", 10);
El segundo parámetro es para el radix y, según la documentación, siempre debe especificarse. MDN dice:
base
Un entero que representa la raíz de la cadena mencionada anteriormente. Especifique siempre este parámetro para eliminar la confusión del lector y garantizar un comportamiento predecible. Las diferentes implementaciones producen resultados diferentes cuando no se especifica una raíz.
.............
.............
Si radix no está definido o es 0 (o está ausente), JavaScript asume lo siguiente:
- Si la cadena de entrada comienza con "0x" o "0X", radix es 16 (hexadecimal) y el resto de la cadena se analiza.
- Si la cadena de entrada comienza con "0", la raíz es ocho (octal) o 10 (decimal). Exactamente qué radix se elige depende de la implementación. ECMAScript 5 especifica que se usa 10 (decimal), pero no todos los navegadores lo admiten todavía. Por este motivo, siempre especifique una raíz cuando use parseInt .
- Si la cadena de entrada comienza con cualquier otro valor, la raíz es 10 (decimal).
Por ejemplo, en algunas implementaciones, parseInt("01803")
arrojará 1
. Suponiendo que el objetivo es obtener 1803
, llame a parseInt con una base de 10 para asegurarse de que el análisis se hace en un sistema de numeración decimal base. Es decir: parseInt("01803", 10)
producirá 1803
. Tenga en cuenta que para un valor no entero, parseInt () redondeará el número para devolver como un entero. paseInt("018.03", 10)
arrojará 18
.
regexp:
"014".replace(/^0+/, '''')