Angularjs 如何在正则表达式中只允许3位数字和一个点
我想这样做:3.40,不超过3个字符和一个点:Angularjs 如何在正则表达式中只允许3位数字和一个点,angularjs,regex,angular-material,ng-pattern,angularjs-ng-pattern,Angularjs,Regex,Angular Material,Ng Pattern,Angularjs Ng Pattern,我想这样做:3.40,不超过3个字符和一个点: <md-input-container class="md-block"> <label>Marks/CGPA</label> <input type="text" name="education.cgpa" ng-model="education.cgpa" ng-patt
<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>
马克/CGPA
插入有效的CGPA
如何在正则表达式中只允许3位数字和一个点?您可以使用一个类似正则表达式的正则表达式
ng-pattern="/^(?!.{5})\d*\.?\d+$/"
或-要允许空字符串,请执行以下操作:
ng-pattern="/^(?!.{5})\d*\.?\d*$/"
您还可以将长度检查移出正则表达式:
ng-pattern="/^\d*\.\d*$/" ng-maxlength="4"
详细信息
-字符串的开头^
-如果输入字符串中有任何5个字符,则会导致匹配失败的负前瞻(?!.{5})
-0+位\d*
-可选的\?
-零位或更多位(如果使用\d*
,则1或更多位)\d+
-字符串结束$
要禁止任何前导/尾随空格,请添加
ng trim=“false”
您可以使用一个正则表达式,如
ng-pattern="/^(?!.{5})\d*\.?\d+$/"
或-要允许空字符串,请执行以下操作:
ng-pattern="/^(?!.{5})\d*\.?\d*$/"
您还可以将长度检查移出正则表达式:
ng-pattern="/^\d*\.\d*$/" ng-maxlength="4"
详细信息
-字符串的开头^
-如果输入字符串中有任何5个字符,则会导致匹配失败的负前瞻(?!.{5})
-0+位\d*
-可选的\?
-零位或更多位(如果使用\d*
,则1或更多位)\d+
-字符串结束$
ng trim=“false”
查看上面的链接,我希望它能帮助你。很抱歉在这里评论链接。这样做是因为我的回购较少。
查看上面的链接,我希望它能帮助你。很抱歉在这里评论链接。这样做是因为我的回购更少。我用这种方式解决了我的问题
ng-pattern="/^\d\.\d{0,2}$/"
我已经这样解决了我的问题
ng-pattern="/^\d\.\d{0,2}$/"
谢谢Wiktor Stribiżew。你的代码对我来说不能正常工作。但我找到了解决办法。这是:ng pattern=“/^\d\。\d{0,2}$/”@monirthin,它不允许像
.123
这样的有效浮点数。而且,这与12.4
不匹配。这将匹配1.
(不知道这在这里是否重要)。我希望点(.)前面有一个数字,点(.)后面有两个数字,比如(2.50)。就这样,这个解决方案帮助了我。谢谢wiktor@monirtuhin这个问题没有确切的要求,所以我的回答是正确的。你的太狭隘了。如果我的答案有帮助,请随意投票。你的答案也帮助我确定了我的问题。谢谢汉克斯·维克托·斯特里比。你的代码对我来说不能正常工作。但我找到了解决办法。这是:ng pattern=“/^\d\。\d{0,2}$/”@monirthin,它不允许像.123
这样的有效浮点数。而且,这与12.4
不匹配。这将匹配1.
(不知道这在这里是否重要)。我希望点(.)前面有一个数字,点(.)后面有两个数字,比如(2.50)。就这样,这个解决方案帮助了我。谢谢wiktor@monirtuhin这个问题没有确切的要求,所以我的回答是正确的。你的太狭隘了。如果我的答案有帮助,请随意投票。你的答案也帮助我确定了我的问题。谢谢/^\d\。\d{0,2}$/
不允许像.123
这样的有效浮点数。而且,这与12.4
不匹配。这将匹配1.
(不知道这在这里是否重要)。@Wiktor Stribiżew我想要点(.)前一位数字,点(.)后两位数字,比如(2.50)。就这样,这个解决方案帮助了我。谢谢/^\d\。\d{0,2}$/
不允许像.123
这样的有效浮点数。而且,这与12.4
不匹配。这将匹配1.
(不知道这在这里是否重要)。@Wiktor Stribiżew我想要点(.)前一位数字,点(.)后两位数字,比如(2.50)。就这样,这个解决方案帮助了我。谢谢