Как запретить ввод несколько нулей подряд в текстовое поле ввода?

247
11 марта 2022, 07:00

Как запретить ввод в текстовое поле несколько нулей одновременно, чтобы можно было вводить только числа с плавающей запятой, например, 0,5 и целые числа 0, 10, 100 и т.д. в Jquery?

        function setStrictNumberPattern() { 
            let inp = document.querySelectorAll('.area'); 
            for (let i = 0; i < inp.length; i++) { 
                let lastVal = ""; 
                inp[i].addEventListener('input', function() { 
                    if (!this.value) return (lastVal = ""); 
                    if ((/^\d+\d*[,]?\d*$/).test(this.value)) { 
                        lastVal = this.value; 
                    } else { 
                        this.value = lastVal; 
                    } 
                }); 
            } 
        };

Answer 1
^(([1-9]\d*)|0)(.\d+)?$
  • ^(([1-9]\d*)|0) вначале ожидаем не 0 и сколько угодно цифр или только один ноль
  • (.\d+)? а потом может идти точка и хотя бы одна цифра

RegEx101

Регулярка будет пропускать числа с завершающим нулем 0.0, 9.780. Если это не нужно, то нужно часть (.\d+)? заменить на (.\d*[1-9])?

READ ALSO
Оптимизация MySql запроса: count, orderBy, groupBy

Оптимизация MySql запроса: count, orderBy, groupBy

столкнулась с проблемой оптимизации следующего запроса

114
Mysql таблица на 40-50 млн записей со множеством SELECT и INSERT

Mysql таблица на 40-50 млн записей со множеством SELECT и INSERT

ЗдраствуйтеНедавно на новом проекте столкнулся в первый раз с проблемой относительно больших данных в Mysql

110
Вывести пользователей Mysql

Вывести пользователей Mysql

Как вывести всех пользователей, которых я не лайнкул в таблице likes и соответствую условию

92
Как преобразовать в Map

Как преобразовать в Map

Есть некий класс UserКак я могу его преобразовать в справочник, по принципу[номер телефона -> пользователь]

150