Ответ 1
Используйте это:
document.getElementById(target).value = newVal.replace(/[^0-9.]/g, "");
У меня есть текстовое поле, которое должно оставаться только текстовым или десятичным. Вот код, который я использую в настоящее время для замены всего, кроме чисел и десятичной точки. Проблема в том, что я не могу найти регулярное выражение, которое будет идентифицировать все остальное
document.getElementById(target).value = newVal.replace(/\D[^\.]/g, "");
The\D отлично работает, но я пробовал (?!.), (?!\.), [^.], [^\.]
и так далее...
Любые предложения для регулярного выражения, которые позитивно идентифицируют что-либо, кроме числа или десятичного числа?
Спасибо за помощь
Используйте это:
document.getElementById(target).value = newVal.replace(/[^0-9.]/g, "");
Удаление только десятичной части может быть выполнено следующим образом:
number.replace(/(\.\d+)+/,'');
Это преобразует 13.6667px в 13px (оставив единицы px нетронутыми).
Попробуйте следующее:
document.getElementById(target).value = newVal.replace(/^\d+(\.\d{0,2})?$/, "");
Проверьте ссылку Демо-версия регулярного выражения
используйте приведенную ниже команду exp exp
[a-z] + [^ 0-9\s.] + |. (?!\d)