| 
 Поправить фильтр для инпута Если это можно, помогите пожалуйста поправить фильтр для инпута. Сам фильтр пропускает только числа и заменяет запятую на точку. Проблема в том, что можно ввести вторую точку. Например сейчас можно ввести так - 21.8454.789 
<input type="text" id="test">
<script>
    document.querySelector('#test').addEventListener('input', function() {
        this.value = this.value.replace(/[,\.]+/, '.').replace(/[^\d.]/, '');
    });
</script>
Есть ли возможность исключить вторую точку? | 
| 
 
document.querySelector('#test').addEventListener('input', function() {
        this.value = this.value.replace(/[,\.]+/, '.').replace(/[^\d.]|(?<=\.\d*)\./, '');
    });
Это экспериментальная технология =) | 
| 
 MC-XOBAHCK, 
<input type="text" id="test">
<script>
    document.querySelector('#test').addEventListener('input', function() {
        this.value = this.value.replace(/,/, '.').replace(/\./g, function(a, b, c) { 
    return c.indexOf(a) == b ? a : ''
}).replace(/[^\d.]/, '');
    });
</script>
 | 
| 
 Спасибо ВАМ! Оба варианта работают правильно, по крайней мере в гугл-хроме. Теперь появилась новая проблема - какой из этих вариантов выбрать? | 
| 
 MC-XOBAHCK, берите второй, мой только для современных браузеров. Обычно использую babel поэтому пишу используя самые последние стандартны языка, а там само транспилируется под старье. | 
| 
 j0hnik, теперь я понял смысл "экспериментальная технология". У меня все скрипты тоже через бабыль прогоняются в гальпе и минимизируются через uglify. Мне непринципиально стандарт. | 
| 
 А разве бабел правит регулярки? Или там плагин какой? | 
| 
 Aetae, для lookbehind глянул сейчас, не нашел. | 
| Часовой пояс GMT +3, время: 23:23. |