Tengo un valor en Javascript como
var input = "Rs. 6,67,000"
¿Cómo puedo obtener solo los valores numéricos?
Resultado: 667000
Enfoque actual (no funciona)
var input = "Rs. 6,67,000"; var res = str.replace("Rs. ", "").replace(",",""); alert(res); Result: 667,000
Este es un gran uso para una expresión regular.
var str = "Rs. 6,67,000"; var res = str.replace(/\D/g, ""); alert(res); // 667000
\D
coincide con un carácter que no es un dígito numérico. Entonces, cualquier no dígito se reemplaza por una cadena vacía. El resultado son solo los dígitos en una cadena.
La g
al final del literal de expresión regular es para "global", lo que significa que reemplaza todas las coincidencias, y no solo la primera.
Este enfoque funcionará para una variedad de formatos de entrada, por lo que si ese "Rs."
se convierte en otra cosa más tarde, este código no se romperá.
Para esta tarea, la forma más fácil de hacerlo será con nosotros regex :)
var input = "Rs. 6,67,000"; var res = input.replace(/\D/g,''); console.log(res); // 667000
Aquí puede encontrar más información sobre cómo usar expresiones regulares:
https://developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions
Espero haber ayudado :)
Saludos
Puedes hacer una función como esta.
function justNumbers(string) { var numsStr = string.replace(/[^0-9]/g, ''); return parseInt(numsStr); } var input = "Rs. 6,67,000"; var number = justNumbers(input); console.log(number); // 667000