我要求在单行文本字段中具有以下条件:
- 第一个字符应该是大写字母。
- 接下来的两个字符应为字母数字,但任何字母都应为大写。
鉴于以下代码,我如何验证此类条件?
<input
type="text"
maxlength="3"
ng-model="name"
ng-change="name = name.toUpperCase();"
/>
最佳答案
您可以使用ngPattern
强制使用正确的模式。属性。
您无法使用 ngChange
自动将用户输入的小写字母转换为大写字母,因为如果输入无效,则模型未定义
,但您可以使用 $parsers
相反。
<input
type="text"
ng-model="name"
ng-pattern="'[A-Z][A-Z0-9]{2}'"
/>
如果您使用的是 between 1.3.0-beta.12 and 1.3.2 版本,请改用模式 ^[A-Z][A-Z0-9]{2}$
。
如果您使用的是 1.3.0-beta.11 or lower 版本,请改用模式 /^[A-Z][A-Z0-9]{2}$/
。
关于angularjs - 文本字段的自定义验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30454433/