webentwicklung-frage-antwort-db.com.de

ein ng-Muster für nur Zahlen akzeptiert Zeichen wie '-' in angle.js

muster, damit ein eingegebener Text nur Zahlen zwischen 0 und 9 akzeptiert.

das ist mein Muster:

$scope.onlyNumbers = /[\u0030-\u0039]+/g;

aus irgendeinem Grund werden .__-Zeichen wie '-' akzeptiert, obwohl sie nicht in dem Bereich liegen, den ich erklärt habe.

dies ist meine Eingabe HTML:

  <input style="width:40%;" type="text" name="phone" ng-minlength="10" ng-maxlength="15" ng-model="register.phone" placeholder='cell phone' ng-pattern="onlyNumbers" required title="please enter cell phone">

kann jemand bitte helfen

13
lobengula3rd

Zur Vereinfachung ist \d = ein beliebiger numerischer Wert

$scope.onlyNumbers = /^\d+$/;

Beispiel: http://jsfiddle.net/TheSharpieOne/JPkER/1/

41
TheSharpieOne

Sie müssen den Ausdruck verankern, um den Wert nur auf Zahlen zu beschränken, und ich denke nicht, dass Sie den globalen Modifikator benötigen.

$scope.onlyNumbers = /^[\u0030-\u0039]+$/;

Und noch ein besserer Ausdruck:

$scope.onlyNumbers = /^[0-9]+$/;
13
Ibrahim Najjar

Versuchen Sie dies für mehr als 0 Zahlen: $scope.onlyNumbers = /^[1-9]+[0-9]*$/
Für beliebige Zahlen: $ scope.onlyNumbers =/^ [0-9] + $/'

4
Tanya

Sie müssen das Regex-Muster bearbeiten

$ scope.only Numbers =/^ [0-9] {1,7} $ /;

0
Vivek Malik