반응형
외국인 주민등록번호의 유효성을 검사하는 Javascript Logic입니다.
예전 포스팅하였던 내국인 주민등록번호 유효성 검사 로직에 덮붙임 형태로 하였습니다.
<!DOCTYPE html>
<html>
<head>
<title>회원가입-자바스크립트</title>
<script language="javascript">
function validate() {
var num1 = document.getElementById("unum1");
var num2 = document.getElementById("unum2");
var ssn1 = num1.value;
var ssn2 = num2.value;
var isj = isKorJumin(ssn1, ssn2);
console.log(isj);
}
function isKorJumin(ssn1, ssn2)
{
var ssn2f = ssn2.substr(0, 1);
var rn = ssn1 + ssn2;
if ( ssn2f == '5' || ssn2f == '6' || ssn2f == '7' || ssn2f == '8' )
{
var type = 'frn';
}
else
{
var type = 'kor';
}
return isJumin( rn, type );
}
function isJumin( rn, type ) {
rn = rn.split("-").join('');
if( rn.length !== 13 ) return false;
var checkSum = 0;
for(var i=0; i<12; i++) checkSum += ((rn.substr(i,1)>>0)*((i%8)+2));
var korMatch = (11-(checkSum%11))%10 == rn.substr(12,1);
var frnMatch = (13-(checkSum%11))%10 == rn.substr(12,1);
if( type === 'kor' ) return korMatch;
else if( type === 'frn' ) return frnMatch;
else return korMatch || frnMatch;
}
</script>
<style>
@import url(http://fonts.googleapis.com/earlyaccess/nanumpenscript.css);
body{font-family: 'Nanum Pen Script';}
</style>
</head>
<body>
<table width="350" height="100" border="1" align="center" cellspacing="0">
<tr height="10" align="center">
<td colspan="2" style="background:navy;" ><font color=white><b>주민등록 유효성검사</b></font></td>
</tr>
<tr>
<td align="center">주민등록번호:</td>
<td align="center">
<input type="text" name="unum1" id="unum1" size="12" maxlength="6">-</input>
<input type="text" name="unum2" id="unum2" size="12" maxlength="7"></input><br/>
예) 123456-1234567
</td>
</tr>
</table>
<center>
<br/>
<input type="button" value="검사" style="border-radius:5px; font-s" onclick="validate();" />
<input type="reset" value="다시입력" style="border-radius:5px;" />
</center>
</body>
</html>
2020/02/24 - [유용한 활용팁] - Javascript 내국인 주민등록번호 유효성 검사
반응형
'유용한 활용팁' 카테고리의 다른 글
부트스트랩 그리드 활용 반응형 레이아웃 만드는 방법 - PC와 모바일을 다르게 구성 (0) | 2020.10.13 |
---|---|
%26, %2F, %3A, %3F, %3D 16진수를 변환한 문자표 (0) | 2020.10.10 |
갤럭시워치 액티브2 LTE 44미리 스테인리스 삼성헬스 최대 산소 섭취량(VO2 max), 낙상 방지 기능 업데이트 소식 (2) | 2020.09.29 |
정액제 전자책 윌라 오디오북 구독서비스 앱 1개월 사용 후기, 단점 (0) | 2020.09.25 |
네이버 스마트스토어 사업자통장 타행 이체 수수료 면제 조건 (0) | 2020.09.22 |