Angularjs позволяют одно десятичное число с после

   <input type="number"
                           name="content"
                           md-auto-focus


                           ng-model="vm.model.content"
                           ng-required="{{vm.required === null ? true : vm.required}}"
                           ng-attr-ng-max="{{vm.max}}"
                           ng-attr-ng-min="{{vm.min}}">    <div ng-message-exp="['required','min']" ng-if="vm.min != null">
                            <span data-translate
                                  translate-value-length="{{vm.min}}">min</span>
                            </div>
                            <div ng-message="required" ng-if="vm.min == null">
                                <span data-translate>required</span>
                            </div>
                            <div ng-message="number">
                                <span data-translate>numberOnly</span>
                            </div>
                            <div ng-message="max">
                            <span data-translate
                                  translate-value-length="{{vm.max}}">max</span>
                            </div>

                    </div>

это короткая версия моего кода.

как вы можете видеть здесь,

https://regex101.com/r/fvPBTW/1 Я использую то же регулярное выражение.

Он принимает 44,44, 44,

но не 44. 44.444,44.44.44, 44.44.

Я думаю из-за числовой особенности.

Но я хочу быть только введенным числом и одним десятичным знаком с номером после него.

Что я могу сделать?

1 ответ

Попробуй это:

<input type="number" name="content" md-auto-focus ng-pattern=/^[0-9]+(\.[0-9]{1})?$/>

Это будет принимать только 4, 44, 4.1, 4.2, 444.2

Но не 4., 4.23, 4.444, 444.23,

Другие вопросы по тегам