여러가지로 테스트 한다고 선수를 뺐겼다.
이렇게 쉬운건 고수들이 다 채어가니 남는게 있나..
1. SCRIPT
function test() {
// var jumin = parseInt(document.getElementById("num").value);
var jumin = document.getElementById("num").value;
var month = parseInt(jumin[2] + jumin[3]);
var datex = parseInt(jumin[4] + jumin[5]);
var sex = "남자";
// var jumintest = /[^0-9]/g;
// var jumintest1 = /^?([0-9]{1,2})?([0-1]{3})?([0-9]{4})?([0-3]{5})?([0-9]{6})?([0-3]{7})?([0-9]{8,13})/g;
// var jumintest1 = /^([0-9]{2})([0-1]{1})([0-9]{1})([0-3]{1})([0-9]{1})([0-3]{1})([0-9]{7})/g;
//var jumintest = /^[12][0-9]{3}([1-2]|?[0-2])([1-9]|[12][0-9]|3[01])$/;
// var regexp = /^(19|20)\d{2}(0[1-9]|1[012])(0[1-9]|[12][0-9]|3[0-1])$/;
// var regexp = /^(0[1-9]|[12][0-9]|3[0-1])$/;
// var regExp = /^[0-9]{6}-{1}[0-9]{2}$/;
// var regExp = /[0-9]{13}/gi;
// var test = regExp.test(jumin);
// alert(test);
// alert(jumin);
/*
if (jumin.length != 13) {
alert('잘못된 주민번호입니다.');
return false;
} else if(jumintest.test(jumin)){
alert("숫자만 입력");
return false;
}
*/
// alert(month + " / " + datex);
if(!(new RegExp(/[0-9]{13}/gi)).test(jumin)) {
alert("주민번호를 정확하게 입력");
return false;
} else if(month < 1 || month > 12) {
alert("주민번호 '월'자리를 정확하게 입력!!");
return false;
} else if(datex < 1 || datex > 31) {
alert("주민번호 '일'자리를 정확하게 입력!!");
return false;
}
if (jumin.charAt(6) == 1 || jumin.charAt(6) == 3) {
sex = "남자";
} else if (jumin.charAt(6) == 2 || jumin.charAt(6) == 4) {
sex = "여자";
} else {
alert("오류");
return false;
}
document.getElementById("out").innerHTML = "월 : " + month + " / 일 : " + datex + " / 성별 : " + sex;
}
2. HTML
<form>
주민등록번호(-없이) : <input type="text" name="num" id="num" />
<input type="button" value="확인" onclick="test()" />
<div id="out"></div>
</form>
3. 실행
링크 : http://jsfiddle.net/u1euhz94/1/
'course > 지식인' 카테고리의 다른 글
[자바] 문자열을 받아 한문자씩 출력(문자열 -> 문자) (0) | 2015.12.08 |
---|---|
[자바] 문제 3개 (0) | 2015.12.03 |
[자바스크립트] 날짜로 요일 구하기 (0) | 2015.12.02 |