1000단위 콤마찍기

by owenjeon

HTML

<input type="text" id="i">
<button id="b">Get Number</button>

JavaScript

const input = document.getElementById("i");
i.addEventListener('input', (e) => {
	const i = e.target;
  const startPosition = i.setSelectionRange && (i.value.length - i.selectionEnd);
	i.value = i.value.replace(/^0+|\D+/g, '').replace(/(\d)(?=(?:\d{3})+(?!\d))/g, '$1,');
  const len = Math.max(i.value.length - startPosition, 0);
  i.setSelectionRange && i.setSelectionRange(len, len);
});

Object.defineProperty(i, "numVar", {
	get (){ return parseInt(i.value.replace(/^0+|\D+/g, ''))},
  enumerable: true,
  configurable: true
})

document.getElementById("b").addEventListener('click', (e) => alert(input.numVar))