我想这样做: 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位数和1个点?
发布于 2017-07-31 19:18:17
您可以使用单个正则表达式,如
ng-pattern="/^(?!.{5})\d*\.?\d+$/"或者-要允许空字符串,请执行以下操作:
ng-pattern="/^(?!.{5})\d*\.?\d*$/"您还可以将长度检查移出regex:
ng-pattern="/^\d*\.\d*$/" ng-maxlength="4"详细信息
^ - string(?!.{5})的开始-如果输入字符串中有任何5个字符,则会导致匹配失败的负向先行查找- string\d* digits\.? -一个可选的.\d* -零个或多个数字(如果使用\d+,则字符串的结尾为1或更多)。要禁止任何前导/尾随空格,请添加ng-trim="false"。
发布于 2017-07-31 19:35:18
https://regex101.com/r/kF0hJ5/17
查看上面的链接,我希望它能对你有所帮助。很抱歉在这里评论链接。这样做是因为我的repo较少。
发布于 2017-07-31 19:37:49
我已经用这种方式解决了我的问题......
ng-pattern="/^\d\.\d{0,2}$/"https://stackoverflow.com/questions/45413930
复制相似问题