Мне нужно проверить, что введенный текст не содержит полных зев в ng-образце. например, мой I/p: 00002210000, он должен принять, если мой I/p: 0000000000 он не должен принимать, он должен выкинуть ошибку.
Используйте javascript match().
if (!myString.match(/(0*[1-9]+0*)+/) {
alert("Invalid string!");
};
Вышеизложенное требует ввода, чтобы иметь как минимум одно ненулевое число. Здесь скрипка для демонстрации с использованием ng-шаблона в соответствии с запросом:
http://jsfiddle.net/HB7LU/15632/
<input ng-model="myText" ng-pattern="/^(0*[1-9]+0*)+$/" type="text" />
<input ng-pattern="/^[1-9]+$/" type="text">
будет работать там.
Лучше поместить регулярное выражение в переменную переменной $ controller и связать ее внутри ng-patter. ВИДЕТЬ ЭТО
$scope.regex = /([0]+[1-9]+[0]+)?$/;
ng-pattern="regex";
ИЛИ,
ng-pattern="^([0]+[1-9]+[0]+)?$"
Попробуйте этот RegEx: ng-pattern="/^(?!0+$)\d{10}$/"
используя look-ahead.
Вы можете использовать шаблон regEx, который проверяет, содержит ли вход хотя бы одно число:
ng-pattern=".*[0-9].*"
RegEx - это регулярное выражение для наименьшего числа