Angular正则表达式和输入类型

Angular regex and input type

本文关键字:类型 输入 正则表达式 Angular      更新时间:2023-09-26

如果我使用type='text'作为输入:ng-pattern 工作ng-max验证不工作;

如果我使用type='number'作为输入:ng-pattern 不工作ng-max验证工作;(我可以在开头和结尾输入无限个0)

的例子:

<input name="input" type="number" placeholder="0.00"
      data-ng-model="example.value"
      data-ng-max="100"
      data-ng-pattern="/^0('.'d{1,2})?$|^[1-9]'d{0,14}('.'d{1,2})?$/"
      data-ng-required="true"/>

http://plnkr.co/edit/hv3qrTZzBy8RlPGT8Snv?p =

预览

这个问题的解决方法是什么?

请看看这个Plunker,看看它现在是否工作。http://plnkr.co/edit/r6FiR5ZSnnDpcJW2893U?p=preview

 <input
    name="input"
    type="number"
    placeholder="0.00"
    data-ng-model="example.value"
    max="100"
    data-ng-pattern="/^0('.'d{1,2})?$|^[1-9]'d{0,14}('.'d{1,2})?$/"
    data-ng-required="true"/>

这真的是一个很小的变化,但有时这就是全部。:)

根据官方文档,你应该输入[max="string"]而不是"ng-max"。

https://docs.angularjs.org/api/ng/input/input%5Bnumber%5D