如何使用 ng-pattern 指定带有文本类型的小数(dd,dd)

how to specify a decimal (dd,dd) with type text usign ng-pattern

我希望我的问题很清楚,我想做的是验证输入部分最多 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

谢谢你!

试试这个,

ng-pattern="/^([1-9]|([0-9][0-9]))(,|\.)([1-9]|([0-9][0-9]))|^(\d{1,2}(?!\d)|100)$/"

可以这样做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>