如何在正则表达式中只允许 3 位数字和一个点



我想这样做: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}$/"

最新更新