2016-05-20 10 views
0

Hallo im Erstellen einer Direktive in angularjs, die nur positive Zahlen und Dezimal akzeptiert, und andere Zeichen, die arent Zahlen (zB: +, -, abc ...) werden entfernt.Akzeptiere nur Zahlen und Dezimalstellen

Zuerst habe ich versucht, mit:

var transformedInput = text.replace(/[^0-9]/g, ''); 

und es funktioniert doesnt aber Dezimalzahlen zu akzeptieren, so dass ich verwenden:

transformedInput = text.replace(/[^0-9]+([,.][0-9]+)?$/g, ''); 

Was im in meinem Code falsch? kann das bitte jemand überprüfen.

Antwort

0

Können Sie einfach Nicht-Zahlen, Nicht-Dezimalzeichen, Nicht-Zeilenumbrüche und Nicht-Komma entfernen? Wenn ja, können Sie eine super einfach regex verwenden:

[^0-9.,\n]+ //global, multiline, replace with blank string 

demo

0
/^[0-9]*$/ 

^: Start auf der beginnen.

[0-9]*: Alle Nummer.

$: Beenden Sie am Ende.

Verwandte Themen