191 Stimmen

Regex mit Javascript, um nur Zahlen zurückzugeben

Wenn ich eine Zeichenfolge wie "etwas12" oder "etwas102" habe, wie würde ich eine Regex in Javascript verwenden, um nur die Zahl Teile zurück?

1voto

Ahsan Farooq Punkte 589

Hier ist die Lösung, um die Zeichenkette mit Regex in gültige einfache oder dezimale Zahlen umzuwandeln:

//something123.777.321something to 123.777321
const str = 'something123.777.321something';
let initialValue = str.replace(/[^0-9.]+/, '');
//initialValue = '123.777.321';

//characterCount just count the characters in a given string
if (characterCount(intitialValue, '.') > 1) {
 const splitedValue = intitialValue.split('.');
 //splittedValue = ['123','777','321'];
 intitialValue = splitedValue.shift() + '.' + splitedValue.join('');
 //result i.e. initialValue = '123.777321'
}

0voto

qristjan Punkte 183

Wenn Sie auch mit Punkt/Komma getrennte Zahlen wünschen, dann:

\d*\.?\d*

o

[0-9]*\.?[0-9]*

Sie können verwenden https://regex101.com/ um Ihre Regexe zu testen.

0voto

Fappie. Punkte 432

Alles, was andere Lösungen auch haben, aber mit einer kleinen Validierung

// value = '675-805-714'
const validateNumberInput = (value) => { 
    let numberPattern = /\d+/g 
    let numbers = value.match(numberPattern)

    if (numbers === null) {
        return 0
    }  

    return parseInt(numbers.join([]))
}
// 675805714

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