繁体   English   中英

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

[英]How to allow only 3 digit and one dot in Regular Expression

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM