|
|
|
|
정규표현식의 달인 기원씨가 만든 "
주민등록번호 예외처리 자바스크립트
"
실명인증까지는 안되도 장난 입력은 절때 안된다고 함.
하지만 운좋게 안걸릴 수 있다고 하니.. 참고 하세요~~
-
function jumin_check()
- {
-
//주민번호 예외처리
-
if(idno.value.length == 13 || idno.value.length == 14)
-
{
-
if(idno.value.length == 14)
-
{
-
var chkidno = /[0-9]{6}-[0-9]{7}/;
-
if(chkidno.test(idno.value))
-
{
-
idno.value = idno.value.replace(/-/g,'');
-
-
}
-
else
-
{
-
alert('올바른 주민등록 번호를 입력 해 주세요.');
-
return;
-
}
-
-
}
-
-
//생년월일 검사
-
var birthYear = (idno.value.charAt(6) <= "2") ? "19" : "20";
-
birthYear += idno.value.substr(0, 2);
- var birthMonth = idno.value.substr(2, 2) - 1;
- var birthDate = idno.value.substr(4, 2);
- var birth = new Date(birthYear, birthMonth, birthDate);
-
- if ( birth.getYear() % 100 != idno.value.substr(0, 2) ||
- birth.getMonth() != birthMonth ||
- birth.getDate() != birthDate)
- {
- alert('올바른 주민등록 번호를 입력 해 주세요.');
- return;
- }
-
- //주민번호 유효성 검 사
-
var buf = new Array(13);
- for (var i = 0; i < 13; i++) buf[i] = parseInt(idno.value.charAt(i));
-
- multipliers = [2,3,4,5,6,7,8,9,2,3,4,5];
- for (var sum = 0, i = 0; i < 12; i++) sum += (buf[i] *= multipliers[i]);
-
- if ((11 - (sum % 11)) % 10 != buf[12])
- {
- alert('올바른 주민등록 번호를 입력 해 주세요.');
- return;
- }
-
}
-
else
-
{
-
alert('올바른 주민등록 번호를 입력 해 주세요.');
-
}
- }
출처 : 기원씨 뇌. |
|
|
|
|
|
|
|
|
|
공유하기
|
공유하기
|
|
|
|
|
|
|