Elimina todos los caracteres no numéricos de la cadena en JavaScript
Considere un escenario no DOM en el que desearía eliminar todos los caracteres no numéricos de una cadena mediante JavaScript/ECMAScript. 0 - 9
Se deben conservar todos los caracteres que estén dentro del rango .
var myString = 'abc123.8<blah>';
//desired output is 1238
¿Cómo lograrías esto en JavaScript simple? Recuerde que este es un escenario que no es DOM, por lo que jQuery y otras soluciones que involucran eventos de navegación y pulsación de teclas no son adecuadas.
Aceptado
.replace
Utilice el método de la cadena con una expresión regular de \D
, que es una clase de caracteres abreviada que coincide con todos los caracteres que no sean dígitos:
myString = myString.replace(/\D/g,'');
Si necesita esto para dejar el punto para los números flotantes, use esto
var s = "-12345.50 €".replace(/[^\d.-]/g, ''); // gives "-12345.50"
Utilice una expresión regular, si la implementación de su script las admite. Algo como:
myString.replace(/[^0-9]/g, '');