글수 22
<html>
<head>
<title>회원 가입 페이지</title>
<script language="javascript">
function validate() {
var bIsValid = false;
bIsValid = validateID();
if (!bIsValid) return false;
bIsValid = validatePassword();
if (!bIsValid) return false;
bIsValid = validateEmail();
if (!bIsValid) return false;
bIsValid = validatePIN();
if (!bIsValid) return false;
//첫 번째 날짜 검사 함수를 사용합니다.
validateBirth1();
//두 번째 날짜 검사 함수를 사용하려면
//위의 줄을 주석처리하고 아래 두 줄의 주석을 해제하세요.
//bIsValid = validateBirth2();
//if (!bIsValid) return false;
alert("모든 정보가 올바르게 입력되었습니다.");
return bIsValid;
}
function validateID() {
var objID = document.getElementById("id");
var objRegex = new RegExp(/^[a-zA-Z0-9]{4,12}$/);
var bResult = objRegex.test(objID.value);
if (!bResult) {
alert("ID는 4자에서 12자 사이의 영문 대/소문자와 숫자로만 입력해야 합니다.");
objID.value = "";
objID.focus();
}
return bResult;
}
function validatePassword() {
var objID = document.getElementById("id");
var objPwd1 = document.getElementById("pwd1");
var objPwd2 = document.getElementById("pwd2");
var objRegex = new RegExp(/^[a-zA-Z0-9]{4,12}$/);
var bResult = objRegex.test(objPwd1.value);
if (!bResult) {
alert("비밀 번호는 4자에서 12자 사이의 영문 대/소문자와 숫자로만 입력해야 합니다.");
objPwd1.value = "";
objPwd2.value = "";
objPwd1.focus();
return false;
}
bResult = objPwd1.value == objPwd2.value;
if (!bResult) {
alert("두 비밀 번호가 일치하지 않습니다.");
objPwd1.value = "";
objPwd2.value = "";
objPwd1.focus();
return false;
}
bResult = objPwd1.value != objID.value;
if (!bResult) {
alert("비밀 번호는 ID와 동일하면 안됩니다.");
objPwd1.value = "";
objPwd2.value = "";
objPwd1.focus();
return false;
}
return true;
}
function validateEmail() {
var objEmail = document.getElementById("email");
var objRegex = new RegExp(/^[a-zA-Z0-9][w.-]*[a-zA-Z0-9]@[a-zA-Z0-9][w.-]*[a-zA-Z0-9].[a-zA-Z][a-zA-Z.]*[a-zA-Z]$/);
if (!objRegex.test(objEmail.value)) {
alert("올바른 메일 주소가 아닙니다.");
objEmail.value = "";
objEmail.focus();
return false;
}
return true;
}
function validatePIN() {
var objPin = document.getElementById("jumin");
var key = "234567892345";
var objArray = new Array();
if (objPin.value.length != 13) {
alert("주민등록번호 13자리를 입력해 주세요.");
objPin.value = "";
objPin.focus();
return false;
}
if (isNaN(objPin.value)) {
alert("주민등록번호는 숫자로만 이루어져 있습니다.");
objPin.value = "";
objPin.focus();
return false;
}
for (var i=0;i<key.length;i++) {
var num1 = objPin.value.charAt(i);
var key1 = key.charAt(i);
objArray.push(parseInt(num1) * parseInt(key1));
}
var sum = 0;
for (var i=0;i<objArray.length;i++) {
sum += parseInt(objArray[i]);
}
sum = 11 - (sum % 11);
if (objPin.value.charAt(12) != sum) {
alert("잘못된 주민번호 입니다.");
objPin.value = "";
objPin.focus();
return false;
}
return true;
}
function validateBirth1() {
var objPin = document.getElementById("jumin");
var nYear = 0, nMonth = 0, nDay = 0;
switch (objPin.value.charAt(6)) {
case "1":
case "2":
nYear = 1900 + parseInt(objPin.value.substr(0, 2));
break;
case "3":
case "4":
nYear = 2000 + parseInt(objPin.value.substr(0, 2));
break;
}
nMonth = parseInt(objPin.value.substr(2, 2));
nDay = parseInt(objPin.value.substr(4, 2));
var objYear = document.getElementById("byear");
var objMonth = document.getElementById("bmonth");
var objDay = document.getElementById("bday");
objYear.value = nYear;
for (var i=0;i<objMonth.length;i++) {
if (objMonth.options[i].value == nMonth) {
objMonth.options[i].selected = true;
break;
}
}
for (var i=0;i<objDay.length;i++) {
if (objDay.options[i].value == nDay) {
objDay.options[i].selected = true;
break;
}
}
}
function validateBirth2() {
var objYear = document.getElementById("byear");
var objMonth = document.getElementById("bmonth");
var objDay = document.getElementById("bday");
var nYear = objYear.value;
var nMonth = objMonth.options[objMonth.selectedIndex].value - 1;
var nDay = objDay.options[objDay.selectedIndex].value;
var date = new Date(nYear, nMonth, nDay);
if (date.getMonth() != nMonth) {
alert("올바른 날짜가 아닙니다.");
return false;
}
return true;
}
</script>
</head>
<body>
<form action="mailto:iwebgenie@hanmail.net" method="post" onsubmit="return validate()">
<table border="0" cellpadding="3" cellspacing="1" bgcolor="#6CAEFC" align="center">
<tr>
<td bgcolor="#B6CFF1" colspan="2" align="center">
<b>회원 기본 정보</b>
</td>
</tr>
<tr>
<td bgcolor="#EAEAEA" align="center"><b>아이디:</b></td>
<td bgcolor="#FFFFFF">
<input type="text" id="id" size="15">
4~12자의 영문 대소문자와 숫자로만 입력
</td>
</tr>
<tr>
<td bgcolor="#EAEAEA" align="center"><b>비밀번호:</b></td>
<td bgcolor="#FFFFFF">
<input type="password" id="pwd1" size="15">
4~12자의 영문 대소문자와 숫자로만 입력
</td>
</tr>
<tr>
<td bgcolor="#EAEAEA" align="center"><b>비밀번호확인:</b></td>
<td bgcolor="#FFFFFF">
<input type="password" id="pwd2" size="15">
</td>
</tr>
<tr>
<td bgcolor="#EAEAEA" align="center"><b>메일주소:</b></td>
<td bgcolor="#FFFFFF">
<input type="text" id="email" size="20">
예) id@domain.com
</td>
</tr>
<tr>
<td bgcolor="#EAEAEA" align="center"><b>이름:</b></td>
<td bgcolor="#FFFFFF">
<input type="text" id="id" size="20">
</td>
</tr>
<tr>
<td bgcolor="#B6CFF1" colspan="2" align="center">
<b>개인 신상 정보</b>
</td>
</tr>
<tr>
<td bgcolor="#EAEAEA" align="center"><b>주민등록번호:</b></td>
<td bgcolor="#FFFFFF">
<input type="text" id="jumin" size="20">
예) 1234561234567
</td>
</tr>
<tr>
<td bgcolor="#EAEAEA" align="center"><b>생일:</b></td>
<td bgcolor="#FFFFFF">
<input type="text" id="byear" size="5">년
<select id="bmonth">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
</select>월
<select id="bday">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value="30">30</option>
<option value="31">31</option>
</select>일
</td>
</tr>
<tr>
<td bgcolor="#EAEAEA" align="center"><b>관심분야:</b></td>
<td bgcolor="#FFFFFF">
<input type="checkbox" name="favorite" value="컴퓨터">컴퓨터
<input type="checkbox" name="favorite" value="인터넷">인터넷
<input type="checkbox" name="favorite" value="여행">여행
<input type="checkbox" name="favorite" value="영화감상">영화감상
<input type="checkbox" name="favorite" value="음악감상">음악감상
</td>
</tr>
<tr>
<td bgcolor="#EAEAEA" align="center"><b>자기소개:</b></td>
<td bgcolor="#FFFFFF">
<textarea id="intro" cols="55" rows="5"></textarea>
</td>
</tr>
</table><br>
<center>
<input type="submit" value="회원 가입">
<input type="reset" value="다시 입력">
</center>
</form>
</body>
</html>
<head>
<title>회원 가입 페이지</title>
<script language="javascript">
function validate() {
var bIsValid = false;
bIsValid = validateID();
if (!bIsValid) return false;
bIsValid = validatePassword();
if (!bIsValid) return false;
bIsValid = validateEmail();
if (!bIsValid) return false;
bIsValid = validatePIN();
if (!bIsValid) return false;
//첫 번째 날짜 검사 함수를 사용합니다.
validateBirth1();
//두 번째 날짜 검사 함수를 사용하려면
//위의 줄을 주석처리하고 아래 두 줄의 주석을 해제하세요.
//bIsValid = validateBirth2();
//if (!bIsValid) return false;
alert("모든 정보가 올바르게 입력되었습니다.");
return bIsValid;
}
function validateID() {
var objID = document.getElementById("id");
var objRegex = new RegExp(/^[a-zA-Z0-9]{4,12}$/);
var bResult = objRegex.test(objID.value);
if (!bResult) {
alert("ID는 4자에서 12자 사이의 영문 대/소문자와 숫자로만 입력해야 합니다.");
objID.value = "";
objID.focus();
}
return bResult;
}
function validatePassword() {
var objID = document.getElementById("id");
var objPwd1 = document.getElementById("pwd1");
var objPwd2 = document.getElementById("pwd2");
var objRegex = new RegExp(/^[a-zA-Z0-9]{4,12}$/);
var bResult = objRegex.test(objPwd1.value);
if (!bResult) {
alert("비밀 번호는 4자에서 12자 사이의 영문 대/소문자와 숫자로만 입력해야 합니다.");
objPwd1.value = "";
objPwd2.value = "";
objPwd1.focus();
return false;
}
bResult = objPwd1.value == objPwd2.value;
if (!bResult) {
alert("두 비밀 번호가 일치하지 않습니다.");
objPwd1.value = "";
objPwd2.value = "";
objPwd1.focus();
return false;
}
bResult = objPwd1.value != objID.value;
if (!bResult) {
alert("비밀 번호는 ID와 동일하면 안됩니다.");
objPwd1.value = "";
objPwd2.value = "";
objPwd1.focus();
return false;
}
return true;
}
function validateEmail() {
var objEmail = document.getElementById("email");
var objRegex = new RegExp(/^[a-zA-Z0-9][w.-]*[a-zA-Z0-9]@[a-zA-Z0-9][w.-]*[a-zA-Z0-9].[a-zA-Z][a-zA-Z.]*[a-zA-Z]$/);
if (!objRegex.test(objEmail.value)) {
alert("올바른 메일 주소가 아닙니다.");
objEmail.value = "";
objEmail.focus();
return false;
}
return true;
}
function validatePIN() {
var objPin = document.getElementById("jumin");
var key = "234567892345";
var objArray = new Array();
if (objPin.value.length != 13) {
alert("주민등록번호 13자리를 입력해 주세요.");
objPin.value = "";
objPin.focus();
return false;
}
if (isNaN(objPin.value)) {
alert("주민등록번호는 숫자로만 이루어져 있습니다.");
objPin.value = "";
objPin.focus();
return false;
}
for (var i=0;i<key.length;i++) {
var num1 = objPin.value.charAt(i);
var key1 = key.charAt(i);
objArray.push(parseInt(num1) * parseInt(key1));
}
var sum = 0;
for (var i=0;i<objArray.length;i++) {
sum += parseInt(objArray[i]);
}
sum = 11 - (sum % 11);
if (objPin.value.charAt(12) != sum) {
alert("잘못된 주민번호 입니다.");
objPin.value = "";
objPin.focus();
return false;
}
return true;
}
function validateBirth1() {
var objPin = document.getElementById("jumin");
var nYear = 0, nMonth = 0, nDay = 0;
switch (objPin.value.charAt(6)) {
case "1":
case "2":
nYear = 1900 + parseInt(objPin.value.substr(0, 2));
break;
case "3":
case "4":
nYear = 2000 + parseInt(objPin.value.substr(0, 2));
break;
}
nMonth = parseInt(objPin.value.substr(2, 2));
nDay = parseInt(objPin.value.substr(4, 2));
var objYear = document.getElementById("byear");
var objMonth = document.getElementById("bmonth");
var objDay = document.getElementById("bday");
objYear.value = nYear;
for (var i=0;i<objMonth.length;i++) {
if (objMonth.options[i].value == nMonth) {
objMonth.options[i].selected = true;
break;
}
}
for (var i=0;i<objDay.length;i++) {
if (objDay.options[i].value == nDay) {
objDay.options[i].selected = true;
break;
}
}
}
function validateBirth2() {
var objYear = document.getElementById("byear");
var objMonth = document.getElementById("bmonth");
var objDay = document.getElementById("bday");
var nYear = objYear.value;
var nMonth = objMonth.options[objMonth.selectedIndex].value - 1;
var nDay = objDay.options[objDay.selectedIndex].value;
var date = new Date(nYear, nMonth, nDay);
if (date.getMonth() != nMonth) {
alert("올바른 날짜가 아닙니다.");
return false;
}
return true;
}
</script>
</head>
<body>
<form action="mailto:iwebgenie@hanmail.net" method="post" onsubmit="return validate()">
<table border="0" cellpadding="3" cellspacing="1" bgcolor="#6CAEFC" align="center">
<tr>
<td bgcolor="#B6CFF1" colspan="2" align="center">
<b>회원 기본 정보</b>
</td>
</tr>
<tr>
<td bgcolor="#EAEAEA" align="center"><b>아이디:</b></td>
<td bgcolor="#FFFFFF">
<input type="text" id="id" size="15">
4~12자의 영문 대소문자와 숫자로만 입력
</td>
</tr>
<tr>
<td bgcolor="#EAEAEA" align="center"><b>비밀번호:</b></td>
<td bgcolor="#FFFFFF">
<input type="password" id="pwd1" size="15">
4~12자의 영문 대소문자와 숫자로만 입력
</td>
</tr>
<tr>
<td bgcolor="#EAEAEA" align="center"><b>비밀번호확인:</b></td>
<td bgcolor="#FFFFFF">
<input type="password" id="pwd2" size="15">
</td>
</tr>
<tr>
<td bgcolor="#EAEAEA" align="center"><b>메일주소:</b></td>
<td bgcolor="#FFFFFF">
<input type="text" id="email" size="20">
예) id@domain.com
</td>
</tr>
<tr>
<td bgcolor="#EAEAEA" align="center"><b>이름:</b></td>
<td bgcolor="#FFFFFF">
<input type="text" id="id" size="20">
</td>
</tr>
<tr>
<td bgcolor="#B6CFF1" colspan="2" align="center">
<b>개인 신상 정보</b>
</td>
</tr>
<tr>
<td bgcolor="#EAEAEA" align="center"><b>주민등록번호:</b></td>
<td bgcolor="#FFFFFF">
<input type="text" id="jumin" size="20">
예) 1234561234567
</td>
</tr>
<tr>
<td bgcolor="#EAEAEA" align="center"><b>생일:</b></td>
<td bgcolor="#FFFFFF">
<input type="text" id="byear" size="5">년
<select id="bmonth">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
</select>월
<select id="bday">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value="30">30</option>
<option value="31">31</option>
</select>일
</td>
</tr>
<tr>
<td bgcolor="#EAEAEA" align="center"><b>관심분야:</b></td>
<td bgcolor="#FFFFFF">
<input type="checkbox" name="favorite" value="컴퓨터">컴퓨터
<input type="checkbox" name="favorite" value="인터넷">인터넷
<input type="checkbox" name="favorite" value="여행">여행
<input type="checkbox" name="favorite" value="영화감상">영화감상
<input type="checkbox" name="favorite" value="음악감상">음악감상
</td>
</tr>
<tr>
<td bgcolor="#EAEAEA" align="center"><b>자기소개:</b></td>
<td bgcolor="#FFFFFF">
<textarea id="intro" cols="55" rows="5"></textarea>
</td>
</tr>
</table><br>
<center>
<input type="submit" value="회원 가입">
<input type="reset" value="다시 입력">
</center>
</form>
</body>
</html>


