Regex pour remplacer tout sauf les nombres et un point décimal

J'ai un champ de texte qui doit rester seulement du texte ou décimal. Voici le code que j'utilise actuellement pour remplacer tout sauf les nombres et un point décimal. Le problème est que je ne peux pas comprendre une expression rationnelle qui identifiera tout le reste

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

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

Des suggestions pour une expression régulière qui identifie positivement avec n'importe quoi sauf un nombre ou une décimale?

Merci pour l'aide

78
demandé sur guildsbounty 2010-12-31 23:32:22

4 réponses

Utilisez ceci:

document.getElementById(target).value = newVal.replace(/[^0-9.]/g, "");
168
répondu Chandu 2010-12-31 20:34:49

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

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

Cela convertirait 13.6667 px en 13px (laissant les unités px intactes).

8
répondu lubosdz 2014-05-25 22:18:05

Essayez ceci:

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

5
répondu Beachhouse 2014-03-05 20:21:42

Vérifiez le lien Démo D'Expression régulière

Utilisez le reg exp ci-dessous

[a-z] + [^0-9\S.]+/.(?!\d)

0
répondu divya 2017-08-10 14:44:54