148 votes

Regex pour remplacer tout sauf des chiffres et point décimal

J'ai un champ de texte qui doit rester uniquement du texte ou décimal. Voici le code que j'utilise actuellement pour remplacer tout, sauf des numéros et un point décimal. Problème est, je ne peux pas comprendre une regex qui permettra d'identifier tout le reste

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

Le \D fonctionne très bien, mais j'ai essayé de (?!.), (?!\.), [^.], [^\.] et ainsi de suite...

Des suggestions pour une expression régulière qui identifie positivement avec quoi que ce soit à l'exception d'un nombre ou un nombre décimal?

Merci pour l'aide

308voto

Chandu Points 40028

Utilisez ceci:

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

8voto

Beachhouse Points 1245

Essayez ceci:

document.getElementById(target).value = newVal.replace(/^\d+(\.\d{0,2})?$/, "");

8voto

lubosdz Points 529

Retrait seulement partie décimale peut être fait comme suit:

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

Ce serait de convertir 13.6667 px en 13px (en laissant les unités px intact).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X