Ich habe ein Textfeld, das nur Text oder Dezimalzahl bleiben muss. Hier ist der Code, den ich derzeit verwende, um alles außer Zahlen und einem Dezimalpunkt zu ersetzen. Das Problem ist, ich kann keinen regulären Ausdruck finden, der alles andere identifiziert
document.getElementById(target).value = newVal.replace(/\D[^\.]/g, "");
Das \ D funktioniert gut, aber ich habe es versucht (?!.), (?!\.), [^.], [^\.]
und so weiter ...
Irgendwelche Vorschläge für einen regulären Ausdruck, der sich positiv mit etwas anderem als einer Zahl oder einer Dezimalstelle identifiziert?
Danke für die Hilfe
javascript
regex
Gildenprämie
quelle
quelle
Antworten:
Benutze das:
quelle
parseFloat("46554.4655465.54654.545345.5") = 46554.4655465
Das Entfernen nur des Dezimalteils kann wie folgt erfolgen:
Dies würde 13.6667px in 13px umwandeln (Einheiten px bleiben unberührt).
quelle
Versuche dies:
document.getElementById(target).value = newVal.replace(/^\d+(\.\d{0,2})?$/, "");
quelle
Überprüfen Sie den Link Regular Expression Demo
Verwenden Sie die unten stehende reg exp
[az] + [^ 0-9 \ s.] + |. (?! \ d)
quelle