#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