<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>주민체크</title>
<script>
function check(it){
var idnum = it.idnum1.value + it.idnum2.value;
if(idnum_chk(idnum) == true){ alert("주민번호가 확인되었습니다.");
return true;}
alert("주민번호가 잘 못 되었습니다.");
it.idnum1.focus();
return false;
}
function idnum_chk(jm){
var idnumtot = 0;
var idnumadd = "234567892345";
for(i=0; i<12; i++){
idnumtot = idnumtot + parseInt(jm.substring(i, i+1))
* parseInt(idnumadd.substring(i, i+1));
}//substring(i, i+1) 문자열 i 위치부터 i+1 전까지 잘라라
idnumtot = 11-(idnumtot%11);
if(idnumtot == 10) { idnumtot = 0; }
else if(idnumtot == 11){ idnumtot = 1; }
if(parseInt(jm.substring(12, 13)) == idnumtot) return true;
}
</script>
</head>
<body>
<form name="InputForm" onsubmit="return check(this);">
<fieldset>
<legend>주민번호</legend>
<input type="password" name="idnum1" size="6" maxlength="6">-
<input type="password" name="idnum2" size="7" maxlength="7"><br>
<input type="submit" value="확인">
</fieldset>
</form>
</body>
</html>
<form name="InputForm" onsubmit="return check(this);">
onsubmit="return check(this);" 디스를 갖고가서 체크하고(check) 다시 줘라(return)
원래는 잘 안 쓰지만 여기서는 체크 하려고 써줌
원래는 action=""으로 들어감
<fieldset>
<legend>주민번호</legend>
<input type="text" name="idnum1" size="6" maxlength="6">-
<input type="password" name="idnum2" size="7" maxlength="7"><br>
<input type="submit" value="확인">
</fieldset>
만들어줌
function check(it)
--> it으로 받아줌
var idnum = it.idnum1.vaule
--> if는 form전체
idnum1.vaule 밸류는 안의 내용을 가르킴
-->첫번째 창의 입력 받은 전체 '글자'
var idnum = it.idnum1.vaule + it.idnum2.value;
-->it.idnum2.value를 함께 더해
--> idnum
체크를 해서 돌려 받아서 그것이 참인지 계산을 해야 됨
if(idnum_chk) == true) { alert("주민번호가 확인되었습니다.");
return true;}
참일 때
alert("주민번호가 잘 못 되었습니다.");
it.idnum.focus();
return false;
else: 안써도 괜찮음 return 있어서...
it.idnum.focus(); 다시 입력 받음
------------------------------------------------------------------------------------
function idnum_chk(jm){ }
진짜 체크하는 함수
jm으로 받음
var idnumtot = 0;
var idnumadd = "234567892345"
paseInt(jm.substring(i, i+1));
jm.substring
잘라주는 것
i부터 i+1까지 --> 한자리씩 자름
idnumtot = idnumtot + paseInt(jm.substring(i, i+1)) * paseInt(idnumadd.substring(i, i+1));
자르고 둘이 서로 곱해줌
----------------------------------------------------------------------------------
idnumtot = 11-(idnumtot%11);
11로 나눠서 11에서 뻬다. 그리고 idnum에 다시 넣어줌
----------------------------------------------------------------------------------
idnumtot = 11-(idnumtot%11); //11로 나눠서 11에서 뻬다. 그리고 idnum에 다시 넣어줌
if(idnumtot == 10) { idnumtot = 0; } //10이 들어있으면 그 자리에 0을 넣어줌
else if(idnumtot == 11){ idnumtot = 1; } //11이 들어있으면 그 자리에 1을 넣어줌
}
----------------------------------------------------------------------------------
if(idnumtot == 10) { idnumtot = 0; } //10이 들어있으면 그 자리에 0을 넣어줌
else if(idnumtot == 11){ idnumtot = 1; } //11이 들어있으면 그 자리에 1을 넣어줌
if(parseInt(jm.sumString(12, 13)) == idnumtot) return true;
//12,13사이를 자른 다음에 정수로 바꿔주고, 정수로 바꿔줌. 그리고 if로 같은 값인지 물어본다.
//맞다면 true가 돼서 넘어감. 어디로? if(idnum_chk) == true) { alert("주민번호가 확인되었습니다.");
'개발일지 > JavaScript + jquery' 카테고리의 다른 글
[js] window.open() 공지사항 창 만들기 (0) | 2021.09.09 |
---|---|
[js] slect문에서 다중선택 입력 및 출력하기(multiple) (0) | 2021.09.09 |
[js] eval을 이용해서 계산기 만드는 방법 (0) | 2021.09.08 |
[js] select에서 단일 입력 및 출력(전공선택) (0) | 2021.09.08 |
[js] checkbox에 입력된 값을 읽고 출력(취미 체크) (0) | 2021.09.08 |