Задать вопрос
@Zewkin
Я у мамы фронтэндер

Как составить регулярное выражение?

Есть директива, которая не позволяет писать в инпут ничего, кроме цифр, точки и минуса:

var transformedInput = inputValue ? inputValue.replace(/[^\d.-]/g,'') : null;


Как переписать его так, чтобы оно не позволяло писать больше двух знаков после точки? Спасибо.
  • Вопрос задан
  • 117 просмотров
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
DirecTwiX
@DirecTwiX
"display: flex;" уже предлагали?
/([^\d.-]|(?<=\.\d\d).+)/g
https://regex101.com/r/Ypju79/1

Upd:
Хм. Оказалось в js нет positive lookbehind.
В любом случае, сделать это с помощью одной регулярки адекватного размера не получится.
Проще сделать пост обработочку на js. Вот пример:
codepen.io/anon/pen/QGrYrw
Ответ написан
@datasheet
^[\d-]*(?=(\.\d{0,2})?)(\.\d{0,2})?$
https://regex101.com/r/rrwfHP/2
под знаками после точки подразумевались цифры?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы