【发布时间】:2015-07-24 11:07:53
【问题描述】:
我需要检查给定的输入文本在 ng-pattern 中不包含完整的 zeor。 例如我的 I/p 是:00002210000 它应该接受如果我的 I/p 是:0000000000 它不应该接受它应该抛出一个错误。
【问题讨论】:
-
将其转换为整数并检查是否 === 0 ?
标签: angularjs
我需要检查给定的输入文本在 ng-pattern 中不包含完整的 zeor。 例如我的 I/p 是:00002210000 它应该接受如果我的 I/p 是:0000000000 它不应该接受它应该抛出一个错误。
【问题讨论】:
标签: angularjs
使用 javascript match()。
if (!myString.match(/(0*[1-9]+0*)+/) {
alert("Invalid string!");
};
以上要求输入至少有一个非零数。这是一个按要求使用 ng-pattern 演示的小提琴:
http://jsfiddle.net/HB7LU/15632/
<input ng-model="myText" ng-pattern="/^(0*[1-9]+0*)+$/" type="text" />
【讨论】:
<input ng-pattern="/^[1-9]+$/" type="text"> 可以在那里工作。
最好将正则表达式放入控制器 $scope 变量中,并将其绑定到 ng-patter.SEE THIS
$scope.regex = /([0]+[1-9]+[0]+)?$/;
ng-pattern="regex";
或者,
ng-pattern="^([0]+[1-9]+[0]+)?$"
【讨论】:
您可以使用正则表达式模式来检查输入是否包含至少一个数字:
ng-pattern=".*[0-9].*"
【讨论】:
试试这个正则表达式:ng-pattern="/^(?!0+$)\d{10}$/" 使用前瞻。
【讨论】: