Как проверить, что данный текст не содержит полный ноль в ng-шаблоне?

0

Мне нужно проверить, что введенный текст не содержит полных зев в ng-образце. например, мой I/p: 00002210000, он должен принять, если мой I/p: 0000000000 он не должен принимать, он должен выкинуть ошибку.

  • 0
    приведите его к целому числу и проверьте, если === 0?
Теги:

4 ответа

2
Лучший ответ

Используйте 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" />
  • 0
    Спасибо!!. но это не может быть сделано в NG-шаблон?
  • 0
    Я думаю, просто <input ng-pattern="/^[1-9]+$/" type="text"> будет работать там.
Показать ещё 5 комментариев
1

Лучше поместить регулярное выражение в переменную переменной $ controller и связать ее внутри ng-patter. ВИДЕТЬ ЭТО

 $scope.regex = /([0]+[1-9]+[0]+)?$/;
    ng-pattern="regex";

ИЛИ,

ng-pattern="^([0]+[1-9]+[0]+)?$"
  • 0
    Спасибо Ved .. но он принимает все нули, если я даю любое число между его бросками ошибки. (т.е.), если я введу свой ввод как 000000, он должен выдать ошибку. если я введу свой ввод как 0000001201, он должен принять.
  • 0
    о .. я пропустил это Я думал, вам просто нужно все ноль .. подождите .. Я обновляю.
Показать ещё 3 комментария
0

Попробуйте этот RegEx: ng-pattern="/^(?!0+$)\d{10}$/" используя look-ahead.

  • 0
    Спасибо Ankit, но если ввести число, он выдает ошибку. если я использую ваш шаблон
  • 0
    О, мой плохой, я пропустил «/» в начале и в конце.
0

Вы можете использовать шаблон regEx, который проверяет, содержит ли вход хотя бы одно число:

ng-pattern=".*[0-9].*"

RegEx - это регулярное выражение для наименьшего числа

Ещё вопросы

Сообщество Overcoder
Наверх
Меню