회원 가입 시 주민등록 번호를 받아야 하는 경우에 외국인의 경우에는 외국인은 주민등록번호를 대신할 수 있는 외국인 등록번호라는 것이 있습니다. 이 또한 주민등록번호처럼 외국인 개별마다 고유한 번호이기에 해당 번호가 유효한 번호인지 여부를 체크를 할 수가 있습니다.
외국인 등록번호 체크 javascript 함수
function fgn_no_chksum(reg_no) {
var sum = 0;
var odd = 0;
buf = new Array(13);
for (i = 0; i < 13; i++) buf[i] = parseInt(reg_no.charAt(i));
odd = buf[7]*10 + buf[8];
if (odd%2 != 0) {
return false;
}
if ((buf[11] != 6)&&(buf[11] != 7)&&(buf[11] != 8)&&(buf[11] != 9)) {
return false;
}
multipliers = [2,3,4,5,6,7,8,9,2,3,4,5];
for (i = 0, sum = 0; i < 12; i++) sum += (buf[i] *= multipliers[i]);
sum=11-(sum%11);
if (sum>=10) sum-=10;
sum += 2;
if (sum>=10) sum-=10;
if ( sum != buf[12]) {
return false;
}
else {
return true;
}
}
외국인등록번호 체크 html
<html>
<head>
<title>외국인등록번호 체크</title>
<META HTTP-EQUIV='Content-type' CONTENT='text/html; CHARSET=euc-kr'>
<script language='JavaScript' src='./외국인등록번호 체크 함수명.js'>
</script>
<script language='javaScript'>
function check_no(form){
var fgn_reg_no = form.fgn_reg_no1.value
+ form.fgn_reg_no2.value;
if (fgn_reg_no == ''){
alert('외국인등록번호를 입력하십시오.');
return false;
}
if (fgn_reg_no.length != 13) {
alert('외국인등록번호 자리수가 맞지 않습니다.');
return false;
}
if ((fgn_reg_no.charAt(6) == "5") || (fgn_reg_no.charAt(6) == "6"))
{
birthYear = "19";
}
else if ((fgn_reg_no.charAt(6) == "7") || (fgn_reg_no.charAt(6) == "8"))
{
birthYear = "20";
}
else if ((fgn_reg_no.charAt(6) == "9") || (fgn_reg_no.charAt(6) == "0"))
{
birthYear = "18";
}
else
{
alert("등록번호에 오류가 있습니다. 다시 확인하십시오.");
return false;
}
birthYear += fgn_reg_no.substr(0, 2);
birthMonth = fgn_reg_no.substr(2, 2) - 1;
birthDate = fgn_reg_no.substr(4, 2);
birth = new Date(birthYear, birthMonth, birthDate);
if ( birth.getYear() % 100 != fgn_reg_no.substr(0, 2) ||
birth.getMonth() != birthMonth ||
birth.getDate() != birthDate) {
alert('생년월일에 오류가 있습니다. 다시 확인하십시오.');
return false;
}
if (fgn_no_chksum(fgn_reg_no) == false){
alert('외국인등록번호에 오류가 있습니다. 다시 확인하십시오.');
return false;
}
else {
alert ('정상입니다.');
return true;
}
}
</script>
</head>
<boby>
<form>
외국인등록번호체크
<input type='text' name='fgn_reg_no1' size=6 maxlength=6 onKeyPress='if((event.keyCode <48)||(event.keyCode >57)) event.returnValue=false;'>
-
<input type='text' name='fgn_reg_no2' size=7 maxlength=7 onKeyPress='if((event.keyCode <48)||(event.keyCode >57)) event.returnValue=false;'>
<input type='button' value='검사하기' onClick='check_no(form);'>
</form>
</body>
</html>
'javascript' 카테고리의 다른 글
jquery checkbox 체크박스 모두 선택 해제 (0) | 2022.11.02 |
---|---|
jquery를 이용한 테이블 열병합 rowspan (0) | 2022.11.01 |
웹페이지 이전페이지 뒤로가기 비활성화 (0) | 2022.10.27 |
window.open시 부모창에 object를 반환 할 때 (0) | 2022.10.27 |
hidden 상태의 form 초기화 (0) | 2022.10.24 |
댓글