본문 바로가기

JAVA

Format number using regex in javascript

일하다 보면, 각종 숫자의 포맷을 맞춰야 하는 경우가 있어서 항상 RegExp 를 만들었는데...
동료가 이런걸 알려 줬다.
역시 사람은 머리를 써야 한다. 

function format(mask, number) {
	var s = '' + number,
		r = '';
	for (var im = 0, is = 0; im < mask.length && is < s.length; im++) {
		r += mask.charAt(im) == 'X' ? s.charAt(is++) : mask.charAt(im);
	}
	return r;
}
console.log(format('XX.XX.XX', 12345678)); // logs "12.34.56" 
console.log(format('XXX-XXXX', 12345678)); // logs "123-4567" 
console.log(format('XX-XX-XX', 12345678)); // logs "12-34-56 " 
console.log(format('XX/XX/XX', 12345678)); // logs "12/34/56" 
console.log(format('XX/XX/XX/XX/XX', 12345678)); // logs "12/34/56/78"