728x90

계좌번호 마스킹 샘플을 만들면서 알게된 사실..

은행별로 계좌번호 포멧이 다르다.. 알고는 있었는데 이렇게 다를 줄이야..

링크는 공유할테니 내용참고하고 아래 소스를 참고하길 바란다.

https://sealove3904.tistory.com/22

 

국내은행별 계좌번호 체계

계좌번호 마스킹 처리를 구현하다보니 은행마다 계좌번호 체계가 달라 공유한다. 은행 길이 포멧 BNK부산은행 13 AAA-BBBB-CCCC-DD DGB대구은행 12 AAA-BB-CCCCCC-D IBK기업은행 14 AAA-BBBBBB-CC-DDD KEB하나은..

sealove3904.tistory.com

 

 

[실행결과]

[소스코드]

<!DOCTYPE html>
<html>
<head>
<title>데모</title>
<style>
	.divTbl     { display: table; width: 100%; }
	.divTblRow  { display: table-row; }
	.divTblCell { display: table-cell; border: 1px solid #999999; padding: 3px 10px; }
	button   { line-height: 17px; margin-top: 10px; }
	textarea { height: 314px; width: 615px; position: fixed; }
</style>
<script src="https://code.jquery.com/jquery-2.1.0.min.js" integrity="sha256-8oQ1OnzE2X9v4gpRVRMb1DWHoPHJilbur1LP9ykQ9H0=" crossorigin="anonymous"></script>
<script>
var com = {
	utils : {}
};

com.utils = {

	/**
	* @description 계좌번호 마스킹하는 함수.
	* @param {string} 계좌번호 (800320-1234567) 
	* @param {string} 마스킹 타입(RRN, EMAIL, CARD, ID, NAME, PHONE 기타등등)
	* @return {string} 마스킹 처리된 문자열
	*/
	makeMask: function (t, s) {
	
		var maskedValue = '';

		switch (t) {
			// KEB하나은행 / AAA-BBBBBB-CCCCC
			case 'KEB' :

				if(s.match(/(\d{3}-\d{6}-\d{5})/gi)){
					maskedValue = s.toString().replace(/(\d{3})-(\d{3})(\d{3})-(\d{5})/gi,'$1-$2***-*****');
				}
			break;
			// KB국민은행 / AAA-BB-CCCC-DDD
			case 'KB' :

				if(s.match(/(\d{3}-\d{2}-\d{4}-\d{3})/gi)){
					maskedValue = s.toString().replace(/(\d{3})-(\d{2})-(\d{2})(\d{2})-(\d{3})/gi,'$1-$2-$3**-***');
				}
			break;
			// 카카오뱅크 / AAAA-BB-CCCCCCC
			case 'KKO' :

				if(s.match(/(\d{4}-\d{2}-\d{6})/gi)){
					maskedValue = s.toString().replace(/(\d{4})-(\d{2})-(\d{6})/gi,'$1-$2-******');
				}
			break;

		}
		
		// Log
		$('#txtLog').append('입력값 : |' + s + '| >> 출력값 : |' + maskedValue + '| \n\n'); 

		return maskedValue;
  },

};
</script>
</head>
<body>
<h1>계좌번호(은행별) 마스킹 처리</h1>
<div class="divTbl" style="height:330px;">
	<div class="divTblRow">
		<div class="divTblCell" style="width:200px;">

			<button onclick="com.utils.makeMask('KEB', '320-198003-12345')">
				KEB하나은행(320-198003-12345)
			</button><br/>
			<button onclick="com.utils.makeMask('KB', '198-03-2019-123')">
				KB국민은행(198-03-2019-123)
			</button><br/>
			<button onclick="com.utils.makeMask('KKO', '1234-12-123456')">
				카카오뱅크(1234-12-123456)
			</button>


		</div>
		<div class="divTblCell" style="width:500px">
			<textarea id='txtLog'></textarea>
		</div>
	</div>
<div>
</body>
</html>

[첨부파일]

account.html
0.00MB

 

 

 

 

 

 

 

728x90
반응형

+ Recent posts