как указать десятичное число (dd, dd) с типом текста, используя ng-шаблон

Я надеюсь, что мой вопрос понятен: я хочу проверить десятичную дробь с 2 максимальными числами в вводной части и 2 максимальными числами в десятичной части (пример 99,99), и я хочу, чтобы она принимала 100 как максимум.

Я не могу использовать type="number" с min и max, потому что Internet Explorer не принимает запятую в этом типе, который я хочу использовать, поэтому вот мой код:

<input type="text" class="form-control" name="fiscal" id="fiscal"
                    ng-model="vm.peticion.aportacion.benif_fiscal" ng-maxlength="5" placeholder="Escribir cantidad ..."
                    ng-style="(form.fiscal.$invalid) && ( form.fiscal.$touched || submitted) && {'background-color':'pink'}"
                    ng-pattern="/^[0-9]+(\.[0-9]{1,2})?$/"/>
                    <span ng-style="{'color':'red','font-size':'12px'}" ng-show="form.fiscal.$error.pattern && ( form.fiscal.$touched || submitted)">
                    Beneficio fiscal not valid!
                   </span>

то, что я ищу, - это правильный шаблон для этого, этот позволяет более 100.

Я хочу, чтобы допустимые значения были: от 00,00 до 99,99 и 100 с использованием (,) или (.), и он должен принимать числа без десятичной части, например 22

Спасибоууу!


person Smahane    schedule 22.12.2016    source источник


Ответы (2)


Попробуйте использовать это,

ng-pattern="/^([1-9]|([0-9][0-9]))(,|\.)([1-9]|([0-9][0-9]))|^(\d{1,2}(?!\d)|100)$/"
person Akshay Kumar    schedule 22.12.2016
comment
Спасибо, но десятичные дроби вроде 2,2 и 13 не работают - person Smahane; 22.12.2016
comment
удивительно, это работает, я потерял часы для этого! спасибооуу - person Smahane; 22.12.2016

Можно так ng-pattern="/(^[0-9]{1,2})+(\.[0-9]{1,2})?$/"

<form name="myForm">
    <div>
      <input type="text" ng-pattern="/(^[0-9]{1,2})+(\.[0-9]{1,2})?$/" name="deci" class="form-control oditek-form" placeholder="Add Latitude coordinate" ng-model="latitude" ng-keypress="clearField('businessno');" >
    </div>
    <label ng-show="myForm.deci.$error.pattern">Error</label>
  </form>
person NVG    schedule 22.12.2016