개발 기록/Javascript

[Javascript] 정규식 공백 제거, 사업자 번호 검증, 숫자를 한글 금액으로

JasonM 2023. 5. 23. 23:45
반응형

 

 

자주 쓰이지만 한동안 안 쓰다 보면 쉽게 잊게 되는 자바스크립트 함수.

공통 javascript 함수 (예: comon.js) 같은 곳 에서 사용하면 스크립트질(?)을 줄일 수 있다.

 

정규식을 통해 문자열의 모든 공백을 제거하는 함수

String.prototype.trim = function(){
	return this.replace(/(^\s*)|(\s*$)/g,"");
}

 

사업자 등록 번호 검증 함수

이전 블로그에 있던 모듈인데, 외부 인터페이스 없이 그냥 입력값만 가지고 확인하는 방법.

이게 지금도 유효한 로직인지는 아직 테스트를 해보지 못했지만, 나중을 위해 우선 저장 해 두자.

 

function isValidOffNum(input){
	tmpStr = input.value;
	tmpSum = new Number(0);
	tmpMod = new Number(0);
	resValue = new Number(0);
	var intOffNo = new Array(0,0,0,0,0,0,0,0,0,0);
	var strChkNum = new Array(1,3,7,1,3,7,1,3,5);

	for(i = 0 ; i < 10 ; i ++){
		intOffNo[i] = new Number(tmpStr.substring(i, i+1));
	}

	for(i = 0 ; i < 9 ; i ++){
		tmpSum = tmpSum + (intOffNo[i]*strChkNum[i]);
	}

	tmpSum = tmpSum + ((intOffNo[8]*5)/10);

	tmpMod = parseInt(tmpSum%10, 10);

	if(tmpMod == 0){
		resValue = 0;
	}else{
		resValue = 10 - tmpMod;
	}

	if(resValue == intOffNo[9]){
		return true;
	}else{
		alert('유효한 사업자등록번호가 아닙니다');
		input.select();
		return false;
	}
}

 

숫자를 한글 금액으로 변환 해주는 함수

정규식을 이용해서 숫자로 입력된 금액을 한글 금액으로 보여줄 때 사용

<SCRIPT LANGUAGE="JavaScript">

	function num2won(val){
		var num = "";
		var won = [];
		//re = /^[1-9][0-9]*$/;
		num = val.toString().split(",").join("");
		
		var price_unit0 = ["","일","이","삼","사","오","육","칠","팔","구"];
		var price_unit1 = ["","십","백","천"];
		var price_unit2 = ["","만","억","조","경","해","시","양","구","간","정"];

		for(var i = num.length-1; i >= 0; i--){
			won[i] = price_unit0[num.substr(num.length-1-i,1)];
			if(i > 0 && won[i] != "" ) { won[i] += price_unit1[i%4]; }
			if(i % 4 == 0 ) { won[i] += price_unit2[(i/4)]; }
		}
        
		for(var i = num.length - 1; i >= 0; i--){
			if(won[i].length == 2) { won[i-i%4] +="-"; }
			if(won[i].length == 1 && i>0) { won[i]=""; }
			if(i%4 != 0 ) { won[i] = won[i].replace("일",""); }
		}
		won = won.reverse().join("").replace(/-+/g,""); 
        
		return won;
	}
    
</SCRIPT>

 

 

 

반응형