webentwicklung-frage-antwort-db.com.de

Regex ersetzt alles außer Zahlen und einem Dezimalpunkt

Ich habe ein Textfeld, das nur Text oder Dezimalzeichen bleiben muss. Hier ist der Code, den ich derzeit verwende, um alles außer Zahlen und einem Dezimalzeichen zu ersetzen. Das Problem ist, ich kann keine Regex finden, die alles andere identifiziert

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

The\D funktioniert gut, aber ich habe (?!.), (?!\.), [^.], [^\.] und so weiter versucht ...

Irgendwelche Vorschläge für einen regulären Ausdruck, der sich positiv mit etwas außer einer Zahl oder Dezimalzahl identifiziert?

Danke für die Hilfe

84
guildsbounty

Benutze das:

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

Das Entfernen von Dezimalstellen kann wie folgt durchgeführt werden:

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

Dies würde 13,6667px in 13px umwandeln (dabei bleiben die Einheiten px unberührt).

8
lubosdz

Versuche dies:

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

6
Beachhouse

Überprüfen Sie den Link Regular Expression Demo

verwenden Sie das unten angegebene Reg Exp 

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

0
divya