【发布时间】:2016-11-02 18:30:14
【问题描述】:
我尝试使用模式属性验证我的输入数量字段。但是我的正则表达式不起作用。请检查
^(?:[1-9]\d*|)$
请任何人帮助我。我的输入字段应该接受 null 或 1 到 9 位数字。不接受 0 或任何字母和符号。
AngulrJS 代码:
<input class="form-control" name="quantity" ng-model="quoteList.quantity" placeholder="Quantity" required="" min="1" ng-pattern="/^(?:[1-9]\d*|)$/">
<div ng-show="userForm.$submitted || userForm.quantity.$touched">
<span ng-show="userForm.quantity.$error.pattern" class="text-danger">Not valid number!</span>
</div>
【问题讨论】:
-
你想让你的正则表达式只匹配一个单个数字还是多个数字?
-
多个数字
-
你想要一个有 1 到 9 个数字的数字,而不是一个只包含数字 1-9 的数字(即不包括 0)
-
您原来的
^(?:[1-9]\d*|)$正在工作 - 它不允许01。 请说明您对当前解决方案有什么问题。 “不工作”不是正确的问题描述,因为它匹配10,不匹配01,还匹配一个空字符串。