我想这样做:3.40 且不超过 3 个字符和一个点:
<md-input-container class="md-block">
<label>Marks/CGPA</label>
<input type="text" name="education.cgpa" ng-model="education.cgpa"
ng-pattern="/^[0-9]{0,4}$/">
<div class="input-validation" ng-show="educationSaveForValidate['education.cgpa'].$error.pattern">
Insert valid CGPA
</div>
</md-input-container>
如何在正则表达式中只允许 3 位数字和一个点?
您可以使用单个正则表达式,例如
ng-pattern="/^(?!.{5})d*.?d+$/"
或 - 允许空字符串:
ng-pattern="/^(?!.{5})d*.?d*$/"
您也可以将长度检查移出正则表达式:
ng-pattern="/^d*.d*$/" ng-maxlength="4"
详
^
- 字符串的开头(?!.{5})
- 如果输入字符串中有任何 5 个字符,则匹配失败的负前瞻d*
- 0+ 位数字.?
- 可选.
d*
- 零位或多位数字(如果使用d+
,则为1位或多位数字($
- 字符串的结尾。
要禁止任何前导/尾随空格,请添加ng-trim="false"
。
https://regex101.com/r/kF0hJ5/17
查看上面的此链接,希望对您有所帮助。很抱歉在这里评论链接。这样做是因为我的回购较少。
我已经用这种方式解决了我的问题......
ng-pattern="/^d.d{0,2}$/"