/*====================================
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;
}
}
'IT_ Tool > MiPlatform' 카테고리의 다른 글
IFRS17 개발 마이플랫폼 (0) | 2020.08.10 |
---|---|
마이플랫폼_ grid 로 부터 XML data를 리턴하는 함수 (0) | 2020.07.31 |
마이플랫폼_입력문자열 중 자리수만큼 *로 처리한다(주민등록번호 * 처리 & 데이터셋 *처리) (0) | 2020.07.31 |
마이플랫폼_다음페이지가 존재할 때 연속거래 처리 이벤트 함수 호출 이벤트(DS_LIST) (0) | 2020.07.31 |
01_마이플랫폼_그리드 더블클릭시 조회 팝업 이벤트_OncellDblClick(obj,nRow,nCell,nX,nY,nPivotIndex) (0) | 2020.07.31 |