995 Stimmen

Entfernen Sie alle nicht numerischen Zeichen aus einer Zeichenkette in JavaScript

Stellen Sie sich ein Szenario vor, in dem Sie mit JavaScript/ECMAScript alle nicht numerischen Zeichen aus einer Zeichenkette entfernen möchten. Alle Zeichen, die sich im Bereich 0 - 9 aufbewahrt werden sollte.

var myString = 'abc123.8<blah>';

//desired output is 1238

Wie würden Sie dies in einfachem JavaScript erreichen? Bitte denken Sie daran, dass es sich hier um ein Nicht-DOM-Szenario handelt, so dass jQuery und andere Lösungen, die Browser- und Tastendruckereignisse beinhalten, nicht geeignet sind.

1voto

jeffbRTC Punkte 1583

Dies,

.match(/\d|\.|\-/g).join('');

Behandelt sowohl , y . auch -

Beispiel:

"Balance -$100,00.50".match(/\d|\.|\-/g).join('');

Ausgänge

10000.50

-5voto

Frank Wisniewski Punkte 1172

Wir sind in 2017 können Sie jetzt auch ES2016

var a = 'abc123.8<blah>';
console.log([...a].filter( e => isFinite(e)).join(''));

o

console.log([...'abc123.8<blah>'].filter( e => isFinite(e)).join(''));  

Das Ergebnis ist

1238

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X