2011년 5월 24일 화요일

주민등록 번호 알고리즘 확인 스크립트

/* --- 숫자만 리턴 --- */
function onlyNum(val)
{
var num = val;
var tmp = "";

for (var i = 0; i < num.length; i ++)
{
 if (num.charAt(i) >= 0 && num.charAt(i) <= 9)
  tmp = tmp + num.charAt(i);
 else
  continue;
}
return tmp;
}



/* --- 주민등록번호 형식  --- */

function juminFormat(obj)
{
var str = onlyNum(obj.value);
var leng = str.length;

   switch(leng)
   {
 case  1 :
 case  2 :
 case  3 :
 case  4 :
 case  5 :
 case  6 : obj.value = str; break;
 case  7 :
 case  8 :
 case  9 :
 case 10 :
 case 11 :
 case 12 :
 case 13 : obj.value = str.substring(0, 6) + "-" + str.substring(6, 13);
     isSSN(str.substring(0, 6) + str.substring(6, 13))
     break;
}
}





function isSSN(ssn){
if( ssn.length == 13 ) {
 var A = ssn.charAt(0);
 var B   = ssn.charAt(1);
 var C   = ssn.charAt(2);
 var D   = ssn.charAt(3);
 var E   = ssn.charAt(4);
 var F   = ssn.charAt(5);
 var G   = ssn.charAt(6);
 var H   = ssn.charAt(7);
 var I   = ssn.charAt(8);
 var J   = ssn.charAt(9);
 var K   = ssn.charAt(10);
 var L   = ssn.charAt(11);
 var Osub   = ssn.charAt(12);

 var SUMM = A*2 + B*3 + C*4 + D*5+ E*6+ F*7+G*8+H*9+I*2+J*3+K*4+L*5;
 var N = SUMM % 11;
 var Modvalue = 11 - N;
 var LapointVal =  Modvalue % 10 ;

if ( Osub == LapointVal ) {
 alert("정상적인 주민번호 입니다.");
 return true;
} else {
 alert("올바른 주민번호를 입력하세요");
 return false;
}
 }
}

댓글 없음:

댓글 쓰기

ETL 솔루션 환경

ETL 솔루션 환경 하둡은 대용량 데이터를 값싸고 빠르게 분석할 수 있는 길을 만들어줬다. 통계분석 엔진인 “R”역시 하둡 못지 않게 관심을 받고 있다. 빅데이터 역시 데이터라는 점을 볼때 분산처리와 분석 그 이전에 데이터 품질 등 데이...