532 Stimmen

Prüfen, ob String nur Ziffern enthält

Ich möchte prüfen, ob ein string enthält nur Ziffern. Ich habe dies verwendet:

var isANumber = isNaN(theValue) === false;

if (isANumber){
    ..
}

Aber ich habe erkannt, dass es auch erlaubt + y - . Grundsätzlich möchte ich sicherstellen, dass ein input enthält NUR Ziffern und keine anderen Zeichen. Da +100 y -5 sind beides Zahlen, isNaN() ist nicht der richtige Weg. Vielleicht ist eine Regexp, was ich brauche? Irgendwelche Tipps?

1054voto

Scott Evernden Punkte 37117

Wie wäre es mit

let isnum = /^\d+$/.test(val);

99voto

Jason S Punkte 178087
string.match(/^[0-9]+$/) != null;

24voto

balupton Punkte 44311
String.prototype.isNumber = function(){return /^\d+$/.test(this);}
console.log("123123".isNumber()); // outputs true
console.log("+12".isNumber()); // outputs false

22voto

Adithya Sai Punkte 1326

Wenn Sie auch Float-Werte (durch Punkte getrennte Werte) unterstützen möchten, können Sie diesen Ausdruck verwenden:

var isNumber = /^\d+\.\d+$/.test(value);

19voto

Grant Miller Punkte 23839

Hier ist eine weitere interessante, lesbare Methode, um zu prüfen, ob eine Zeichenkette nur Ziffern enthält.

Diese Methode funktioniert, indem sie die Zeichenkette in ein Array aufspaltet, indem sie die Spread-Operator und verwendet dann die every() Methode, um zu prüfen, ob alle Elemente (Zeichen) im Array enthalten sind in der Ziffernfolge '0123456789' :

const digits_only = string => [...string].every(c => '0123456789'.includes(c));

console.log(digits_only('123')); // true
console.log(digits_only('+123')); // false
console.log(digits_only('-123')); // false
console.log(digits_only('123.')); // false
console.log(digits_only('.123')); // false
console.log(digits_only('123.0')); // false
console.log(digits_only('0.123')); // false
console.log(digits_only('Hello, world!')); // false

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