сорри , это я не дочитал задание
по вашему коду
найденному решению, немного лишнего
цель:нужно удалить все кроме чисел и '.', и поставить ","
у Вас же
split(',').join('') удаляет ",", это лишнее, так как дальше мы удалим ее
replace(/[^0-9-,.]/g, '') удаляет все, кроме чисел, "," хотя "," не нужна.
оставьте так
let input = document.querySelector('#input')
input.addEventListener('input', () => {
input.value = input.value.replace(/[^.0-9]/g,"").replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1,")
})
был бы рабочий или нерабочий пример типа [НTML run]...[/html], потестили бы