728x90
반응형

/*====================================
Validation 관련
*====================================*/
//*----------------------------------------------------------------
//* 주민번호 형식 check(뒤 7자리)
//* parameter : 주민번호 뒤자리
//* return value : 0(적합), -1(부적합)
//*-----------------------------------------------------------------
function g_doCheckPreResnoLength(szPreResno)
{
if ( szPreResno.length == 7 ) {
return 0;
} else {
return -1;
}

}



//*----------------------------------------------------------------
//* 주민등록번호 적합성 여부 체크 함수
//* parameter : val1 주민번호앞 6자리
: val2 주민번호뒤 7자리
//* return value : ture(적합), false(부적합)
//* remark ; 2008-12-05 외국인체크로직추가
//*-----------------------------------------------------------------
function g_checkJumin(val1, val2)
{
var tmp1, tmp2, tmp3;
var t1, t2, t3, t4, t5, t6;
var t11, t12, t13, t14, t15, t16, t17;

var tot;
var result;

tmp1 = toNumber(SubStr(val1, 2, 2));
tmp2 = toNumber(SubStr(val1, 4));
tmp3 = toNumber(SubStr(val2, 0, 1));

if ( g_doCheckProResnoLength(val1) == -1) return false;
if ( g_doCheckProResnoLength(val2) == -1) return false;
if ((tmp1 < 1 || (tmp1 > 12)) return false;
if ((tmp2 < 1 || (tmp2 > 31)) return false;

t1 = toNumber(SubStr(val1, 0, 1)); //0
t2 = toNumber(SubStr(val1, 1, 1)); //1
t3 = toNumber(SubStr(val1, 2, 1)); //2
t4 = toNumber(SubStr(val1, 3, 1)); //3
t5 = toNumber(SubStr(val1, 4, 1)); //4
t6 = toNumber(SubStr(val1, 5, 1)); //5
t11 = toNumber(SubStr(val2, 0, 1)); //6
t12 = toNumber(SubStr(val2, 1, 1)); //7
t13 = toNumber(SubStr(val2, 2, 1)); //8
t14 = toNumber(SubStr(val2, 3, 1)); //9
t15 = toNumber(SubStr(val2, 4, 1)); //10
t16 = toNumber(SubStr(val2, 5, 1)); //11
t17 = toNumber(SubStr(val2, 6, 1)); //12

if ( tmp3 >= 5 && tmp <= 8 ) {
//외국인
if ( t16 < 6 ) return false;

var odd = t12 * 10 + t13;
if ( odd%2 != 0 ) return false;

tot = t1*2 + t2*3 + t3*4 + t4*5 + t5*6 + t6*7 +
t11*8 + t12*9 + t13*2 + t14*3 + t15*4 + t16*5;
result = tot % 11;
result = 11-result;

if(result >= 10) result -= 10;
result += 2;
if (result >= 10) result -= 10;

} else {
//내국인
tot = t1*2 + t2*3 + t3*4 + t4*5 + t5*6 + t6*7 +
t11*8 + t12*9 + t13*2 + t14*3 + t15*4 + t16*5;
result = tot % 11;
result = 11-result;
result = result%10;
}

if ( result == t17) {
return true;
} else [
return false;
}
}






if ( szPreResno.length == 7 ) {
return 0;
} else {
return -1;
}

}

728x90
반응형
728x90
반응형

//*----------------------------------------------------------------
//* 입력문자열중 자리수만큼 *로 처리한다
//* parameter : strValue 원천문자열
//* : nCount 수
//* return value : String
//*-----------------------------------------------------------------
function g_replaceAsterisk(strValue, nCount)
{
var lenStr = length(strValue);
var nSIze = lenStr-nCount;
if ( nSize == 0 ) nSize = -1;
return rpad(left(strValue, nSize), "*", lenStr);
}



//*----------------------------------------------------------------
//* 주민등록번호를 *처리한다. -문자열
//*-----------------------------------------------------------------
function g_getSafeRegNo(strValue)
{
return g_replaceAsterisk(strValue, 3);
}



//*----------------------------------------------------------------
//* 주민등록번호를 *처리한다. -데이터셋
//*-----------------------------------------------------------------
function g_setColumnSafeRegNo(objDs, strCloID)
{
var nRowCnt = objDs.rowCount;
var nColIdx = objDs.GetColIndex(strColID);

for ( var i=0; i<nRowCnt; i++)
{
objDs.SetColumn(i, nColIdx, g_getSafeRegNo(objDs.GetColumn(i, nColIdx)));
}
}


}




728x90
반응형
728x90
반응형

//*-----------------------------------------------------------
//* 다음 페이지가 존재할 때 연속거래 처리 이벤트 함수호출
//* parameter : obj,nX,nY
//* return value : void
//*------------------------------------------------------------

function btnNextPager_OnClick(obj) {
if ( btnNextPager.Enable) {
var dsObj = object(Grid.BindDataset);
dsObj.Row = dsObj.GetRowCount() -1;
Pager_OnClick(btnNextPager);
}
}





728x90
반응형

+ Recent posts