Как запретить ввод десятичных и отрицательных знаков в текстовое поле Ext-- Extjs - PullRequest
0 голосов
/ 05 июня 2019

У меня есть текстовое поле, которое принимает большие входные числа. Моя проблема, если я использую Ext.form.NumerField({}) большие числа преобразуются в нотацию 1e, и, следовательно, я не могу это исправить с помощью toFixed(). Поэтому я перешел на использование Ext.form.TextField({}). Однако с помощью текстового поля я хочу запретить пользователю вводить десятичные числа, отрицательные числа и разрешать только числовые поля. Только для чисел я могу использовать регулярные выражения: var regex = /[0-9.]/,. // допустим только числовые значения Но я не уверен, как я могу получить все вышеперечисленные условия (без десятичных и без отрицательных) в регулярном выражении.

любая помощь по регулярному выражению будет оценена.

Спасибо

1 Ответ

2 голосов
/ 05 июня 2019

Если вы хотите просто проверить ввод, используйте следующее регулярное выражение:

/^\d+$/

но, если вы мешаете печатать, добавьте это в текстовое поле:

    enableKeyEvents:true,
    listeners:{
            keydown : function(t,e) {
            var code = e.browserEvent.keyCode;
            console.log(code);     
            if ((code < 48 || code > 57) &&(code !== 8)){
                e.stopEvent();
            }
        }
    }, 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...