0 / 0 / 0
Регистрация: 06.02.2019
Сообщений: 11

Регулярное выражение для поля Input метод replace (числа)

20.02.2019, 19:04. Показов 8671. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет, есть поле Input, есть обработчик для этого поля.

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
this._form.find("input:text").on("change keyup input click", this.changeCheckInput);
//---
    private changeCheckInput = (event:JQueryEventObject) => {
        let value : string = $(event.target).val() as string;
 
        if (value != value.replace(/[^0-9\.]/g, '')) {
            value  = value.replace(",", ".");
            // Чистим строки
            value = value.replace(/[0-9]/, '');
        
            $(event.target).val(value);
         }
         
    }
Я хочу сделать ограничение ввода для целых чисел и чисел со знаком, как ввод так и вставка.
Маска числе определяемая формат ввода целые или со знаком лежит в атрибуте min у input.
Можно вводить целые.

HTML5
1
<input type="text" min="1" max="10">
Можно вводить со знаком.
HTML5
1
<input type="text" min="1.00" max="10">
Алгоритм такой:
1) Событие ввода сработало.
2) Проверяем атрибут min целое или дробное?
3) Применяем нужное регулярное выражение для Input методом replace
4) Обновляем значения в Input.

Подскажите, как составить регулярное выражение для проверки маски целых для целых чисел, а так-же маску форматирования целых чисел для метода replace, и тоже самое только уже для чисел со знаком.

Маска должна преобразовывать такие значения.
Целые числа
05445 - 5445
05445.54 - 5445
.5445 - 5445
asdasd?.5445ds4542f - 5445
asdasd?.5445ds45.42f - 5445

Для чисел со знаком.
024.44 - 24.44
.44 - 0.44
. - 0
asdasd?0.44ds4542f - 0.44
asdasd?44ds4542f - 0.44
asdasd?.44544755ds4542f - 0.44
asdasd?44544ds4542f - 44544


Буду очень признателен за помощь, думаю многим такая маска пригодиться!
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.02.2019, 19:04
Ответы с готовыми решениями:

Регулярное выражение для поля ввода числа типа float
Сколько ни гуглил, ответа на свой вопрос не нашел. Надо сделать регулярку для поля ввода, куда можно вводить только число типа float - с...

Регулярное выражение для тега input предназначенного для введения телефона.
Помогите написать регулярное выражение для тега input предназначенного для введения телефона. Ни чего усложнять не нужно. Необходимо...

Регулярное выражение для проверки поля
Привет. Нужно регулярное выражение для проверки поля ФИО. Проверка нестрогая, т е могут быть числа. Могут быть также и двойные, и...

4
0 / 0 / 0
Регистрация: 06.02.2019
Сообщений: 11
03.03.2019, 04:00  [ТС]
Тема актуальна
0
1137 / 685 / 412
Регистрация: 07.11.2015
Сообщений: 1,102
03.03.2019, 23:19
Цитата Сообщение от BananaRush Посмотреть сообщение
Маска должна преобразовывать такие значения.
Целые числа
05445 - 5445
05445.54 - 5445
.5445 - 5445
asdasd?.5445ds4542f - 5445
asdasd?.5445ds45.42f - 5445
JavaScript
1
replace(/^[^1-9]*(\d+).*|.+/, '$1');
1
0 / 0 / 0
Регистрация: 06.02.2019
Сообщений: 11
05.03.2019, 21:24  [ТС]
Цитата Сообщение от Emilien Посмотреть сообщение
1
replace(/^[^1-9]*(\d+).*|.+/, '$1');
Спасибо, это работает для целых числе. Но как разрешить точку? и не более 2 символа после точки, если точка первая, то ставим перед ней число 0
0
1137 / 685 / 412
Регистрация: 07.11.2015
Сообщений: 1,102
07.03.2019, 02:04
Лучший ответ Сообщение было отмечено BananaRush как решение

Решение

Последовательность из трёх replace.
JavaScript
1
2
3
.replace(/^.*?((\d+\.?|\.)\d{0,2}).*|.+/, '$1')
.replace(/^0*(?!\.|$)/, '')
.replace(/^\.$|^(\.)/, '0$1')
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.03.2019, 02:04
Помогаю со студенческими работами здесь

Регулярное выражение для проверки поля типа float
Привет, Релиб! Подскажите плз ,какое выражение нужно, чтоб проверить, что в поле ввели именно число типа флоат- т.е. там из 'нецифр'...

Дана строка,заменить все числа в ней на звездочки(для этого используйте метод replace)
Дана строка,заменить все числа в ней на звездочки(для этого используйте метод replace)

Регулярное выражение на проверку числа с точкой или запятой
Доброго времени суток! Суть задачи такова: Нужно проверить число регуляркой, в случаи если число не проходит выдать ошибку. Какие...

Регулярное выражение для проверки текстового поля формы
необходимо проверить поле формы чтобы кроме текста и некоторых тегов лишнего ничего не было к примеру такое выражение : &lt;img...

Регулярное выражение для дробного числа от 0 до 1
Помогите составить регулярное выражение для дробного числа от 0 до 1. Число типа double, после точки может стоять хоть сколько цифр,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

Новые блоги и статьи
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru