Директива Angular JS для числа, большего 0

#javascript #jquery #regex #html #angularjs

#javascript #jquery #регулярное выражение #HTML #angularjs

Вопрос:

У меня есть следующие входные данные <input type="text" name="area" class="form-control" ng-pattern="onlyNumbers" ng-model="myForm.area" required> , а ng-шаблон позволяет вводить только числа.

 $scope.onlyNumbers = /^d $/;
  

Я также хотел бы каким-то образом сообщить входным данным, что число должно быть больше 0. Это означает, что пользователь не должен вводить что-то вроде 023, это должно быть 23.

Ответ №1:

Вы можете просто изменить регулярное выражение:

 $scope.onlyNumbers = /^[1-9][0-9]*$/;
  

Ответ №2:

Опция, позволяющая использовать значения с плавающими значениями с разделителями , или . .

 $scope.onlyNumbers = /^(0*[1-9][0-9]*([.,][0-9] )?|0 [.,][0-9]*[1-9][0-9]*)$/;
  

Ответ №3:

Это позволит использовать любое число выше нуля (например, 0.0002).

$scope.onlyNumbers = /^0*[1-9][0-9]*(.[0-9] )?|0 .[0-9]*[1-9][0-9]*$/

Комментарии:

1. Она позволяет вводить отрицательные значения, например: -0.1