Задать вопрос
Этот вопрос закрыт для ответов, так как повторяет вопрос Как поставить знак рубля в input?

Как добавить знак валют при вводе значения в input?

Есть следующий код HTML
<form class="search-form">
  <div class="form-row">
    <input class="input-suma-credit" type="text" name="suma-credit" inputmode="decimal" autocomplete="off">
  </div>
</form>


и JS
$('body').on('input', '.input-suma-credit', function(){
		this.value = this.value
			.replace(/\D/g, '')
		    .replace(/(\d)(?=(\d{3})+([^\d]|$))/g, '$1 ')
		    + ' ₽';
	});

62e009db7b90d325337105.png

Проблема даного кода в том, что знак валюты запрещает удаление числа в строке, и собственно смотрится это не очень эстетично когда курсор заходит за символ. Есть отличный пример того, что именно должно получится ТАП
62e00cb03ddb8292886338.png

Не совсем понятно как именно реализовать данный момент, буду рад если сможете подсказать или хотябы направить в правильном направлении.
  • Вопрос задан
  • 1369 просмотров
Подписаться 4 Средний 1 комментарий
Ответы на вопрос 2
xEpozZ
@xEpozZ
Веб-разработчик
Зачем его вставлять в input?
Сделайте отдельный span/i/div/что хотите и состыкуйте его к input. И данные в контроле будут чистыми, и никаких проблем с перескакиванием курсора за символ.
Ответ написан
hahenty
@hahenty
('•')
function(){
    this.value = this.value
      .replace(/\d $/, '')
      .replace(/\D/g, '')
      .replace(/(\d)(?=(\d{3})+([^\d]|$))/g, '$1 ')
    + ' ₽';
}
Ответ написан
Ваш ответ на вопрос

Вопрос закрыт для ответов и комментариев

Потому что уже есть похожий вопрос.
Похожие вопросы