У меня есть текстовое поле, которое должно оставаться только текстовым или десятичным. Вот код, который я сейчас использую для замены всего, кроме чисел и десятичной точки. Проблема в том, что я не могу понять регулярное выражение, которое идентифицирует все остальное.
document.getElementById(target).value = newVal.replace(/\D[^\.]/g, "");
\ D работает нормально, но я пробовал (?!.), (?!\.), [^.], [^\.]
и так далее ...
Есть ли предложения по регулярному выражению, которое положительно идентифицирует с чем-либо, кроме числа или десятичной дроби?
Спасибо за помощь
javascript
regex
гильдия
источник
источник
Ответы:
Использовать это:
источник
parseFloat("46554.4655465.54654.545345.5") = 46554.4655465
Удалить только десятичную часть можно следующим образом:
Это преобразует 13,6667 пикселей в 13 пикселей (без изменения единиц пикселей).
источник
Попробуй это:
document.getElementById(target).value = newVal.replace(/^\d+(\.\d{0,2})?$/, "");
источник
Проверьте ссылку Демонстрация регулярных выражений
используйте указанную ниже рег.
[az] + [^ 0-9 \ s.] + |. (?! \ d)
источник