Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Как форматировать в input ценовую информацию? (https://javascript.ru/forum/dom-window/23283-kak-formatirovat-v-input-cenovuyu-informaciyu.html)

Kolyaj 21.11.2011 16:54

http://javascript.ru/forum/project/3...probelami.html

qwe88 04.05.2015 14:10

Цитата:

Сообщение от рони (Сообщение 137578)
Вариант регулярки ...
var a = "123 45 6775 8" 
 a = a.replace(/\s+/g, "").match(/(\d{1,3})(?=((\d{3})*([^\d]|$)))/g).join(" ")   
alert(a)

Супер!
Подскажите, пожалуйста, у меня есть инпут, в котором работает пробел при изменении. А как сделать пробел сразу при загрузке страницы?
<input type="text" value="3432424" id="cif" />

<script>

var input = document.getElementById("cif");
input.onkeyup = input.onchange= input.onpaste = function(){
 this.value= this.value.replace(/\s+/g, "").match(/(\d{1,3})(?=((\d{3})*([^\d]|$)))/g).join(" ");
};

</script>

qwe88 04.05.2015 14:35

У меня получилось так:
<body onload="ly()">
<input type="text" value="3432424" id="cif" />

<script>

var input = document.getElementById("cif");
input.onkeyup = input.onchange= input.onpaste = function(){
 this.value= this.value.replace(/\s+/g, "").match(/(\d{1,3})(?=((\d{3})*([^\d]|$)))/g).join(" ");
};

function ly(){
input.value = input.value.replace(/\s+/g, "").match(/(\d{1,3})(?=((\d{3})*([^\d]|$)))/g).join(" ");
}
</script>
</body>


Может есть более изящный способ :) ?

рони 04.05.2015 15:54

qwe88,
<body onload="input.onkeyup()">
<input type="text" value="3432424" id="cif" />
<script>
var input = document.getElementById("cif");
input.onkeyup = input.onchange= input.onpaste = function(){
 this.value= this.value.replace(/\s+/g, "").match(/(\d{1,3})(?=((\d{3})*([^\d]|$)))/g).join(" ");
};
</script></body>

trikadin 04.05.2015 16:23

Вот это некропост, лол.


Часовой пояс GMT +3, время: 15:37.