1

Я хочу, чтобы в моем текстовом поле разрешалось только число, а также лимит символов на нем.Предел символов для ввода текста

В настоящее время у меня есть номера, работающие ... Теперь у меня возникают проблемы с выяснением того, как ограничить символы.

Вот что у меня есть ...

JS:

app.directive('numbersonly', function() { 
    return { 
     restrict: 'A', 
     link: function (scope, elm, attrs, ctrl) { 
      elm.on('keydown', function (event) { 
       if (event.which == 64 || event.which == 16 && elm.val().length > 4) { 
        return false; 
       } else if (event.which >= 48 && event.which <= 57) { 
        return true; 
       } else if (event.which >= 96 && event.which <= 105) { 
        return true; 
       } else if ([8, 13, 27, 37, 38, 39, 40].indexOf(event.which) > -1 && elm.val().length > 4) { 
        return true; 
       } else { 
        event.preventDefault(); 
        return false; 
       } 
      }); 
     } 
    } 
}); 

Markup:

<input type="text" id="txtEmpAge" data-ng-model="newemployee.Age" class="form-control" numbersonly required /> 

ответ

1

В HTML ввода атрибутов длины. мы можем использовать его в различных формах:

Длина, MINLENGTH и MAXLENGTH

Попробуйте

maxlength="5" 
+0

Я хочу обрабатывать его в директиве, а не разметке – user4756836

+0

Можете ли вы просто изменить атрибут элемента, который вы передали в вашей функции ссылок, если вы не хотите обрабатывать его в HTML? Я что-то пропустил, потому что я предполагаю, что вам нужно поместить ограничение, которое вы хотите, в изолированную область, которую вам нужно будет поместить в свой HTML в директиве, или вы хотите, чтобы все входные данные были одинаковой длины. – Maccurt

+0

@Maccurt, потому что я использую аналогичную директиву для ввода номера, который не позволяет maxlength и max, похоже, не работает так хорошо – user4756836

0

У меня был тот же вопрос и написал директиву, чтобы понять все это. Затем я нашел вилку под названием угло-динамический номер, и это сработало для меня прямо из коробки. Я предлагаю вам использовать это, если оно соответствует вашим потребностям. https://www.npmjs.com/package/angular-dynamic-number

+0

Я не хочу иметь плагин для этого – user4756836

+0

Могу ли я спросить, t хотите использовать плагин? – Maccurt

Смежные вопросы