motif pour qu'un texte d’entrée accepte uniquement les nombres compris entre 0 et 9.
c'est mon modèle:
$scope.onlyNumbers = /[\u0030-\u0039]+/g;
pour une raison quelconque, les caractères tels que '-' seront acceptés même s’ils ne sont pas dans la plage que j’ai déclarée.
c'est mon entrée 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">
quelqu'un peut-il aider s'il vous plaît?
Pour simplifier \d
= toute valeur numérique
$scope.onlyNumbers = /^\d+$/;
Vous devez ancrer l'expression pour limiter la valeur aux nombres et je ne pense pas que vous ayez besoin du modificateur global, votre expression devrait donc devenir:
$scope.onlyNumbers = /^[\u0030-\u0039]+$/;
Et même une meilleure expression:
$scope.onlyNumbers = /^[0-9]+$/;
Essayez ceci pour des nombres supérieurs à 0: $scope.onlyNumbers = /^[1-9]+[0-9]*$/
Pour tout nombre: `$ scope.onlyNumbers =/^ [0-9] + $/'
Vous devez éditer le motif regex
$ scope.only Numbers =/^ [0-9] {1,7} $ /;