Búsqueda de sitios web

javascript - Expresión regular para reemplazar todo excepto números y un punto decimal


Tengo un campo de texto que debe permanecer solo como texto o decimal. Aquí está el código que estoy usando actualmente para reemplazar todo excepto números y un punto decimal. El problema es que no puedo encontrar una expresión regular que identifique todo lo demás

document.getElementById(target).value = newVal.replace(/\D[^\.]/g, "");

El \D funciona bien, pero he probado (?!.), (?!\.), [^.], [^\.] y así sucesivamente...

¿Alguna sugerencia para una expresión regular que se identifique positivamente con cualquier cosa excepto un número o un decimal?

Gracias por la ayuda

Respuesta #1

Usa esto:

document.getElementById(target).value = newVal.replace(/[^0-9.]/g, '');

Respuesta #2

Eliminar solo la parte decimal se puede hacer de la siguiente manera:

number.replace(/(\.\d+)+/,'');

Esto convertiría 13.6667px en 13px (dejando las unidades px intactas).

Artículos relacionados