<script language="javascript">
* 꼭 FORM에 name을 정의해 준다!!
* <FORM name="form1" onSubmit="return chkForm(this)">
* input tag에 대한 설명
* <input
* type="text" //체크할 형식
* name="id" //넘어갈이름
* hname="아이디" //경고창에 나타낼 문자열
* option="regId" //어떤 정규식으로 처리할지 선언
* required //꼭 체크를 원하는 항목에 설정
* >
***************************************/
function chkForm(f)
{
var i,currEl;
for(i = 0; i < f.elements.length; i++){
currEl = f.elements[i];
//필수 항목을 체크한다.
if (currEl.getAttribute("required") != null) {
if(currEl.type == "TEXT" || currEl.type == "text" ||
currEl.tagName == "SELECT" || currEl.tagName == "select" ||
currEl.tagName == "TEXTAREA" || currEl.tagName == "textarea"){
if(!chkText(currEl,currEl.hname)) return false;
} else if(currEl.type == "PASSWORD" || currEl.type == "password"){
if(!chkText(currEl,currEl.hname)) return false;
} else if(currEl.type == "CHECKBOX" || currEl.type == "checkbox"){
if(!chkCheckbox(f, currEl,currEl.hname)) return false;
} else if(currEl.type == "RADIO" || currEl.type == "radio"){
if(!chkRadio(f, currEl,currEl.hname)) return false;
}
}
// 입력 페턴을 체크한다.
if(currEl.getAttribute("option") != null && currEl.value.length > 0){
if(!chkPatten(currEl,currEl.option,currEl.hname)) return false;
}
}
}
function chkPatten(field,patten,name)
{
var regNum =/^[0-9]+$/;
var regPhone =/^[0-9]{2,3}-[0-9]{3,4}-[0-9]{4}$/;
var regMail =/^[_a-zA-Z0-9-]+@[._a-zA-Z0-9-]+\.[a-zA-Z]+$/;
var regDomain =/^[.a-zA-Z0-9-]+.[a-zA-Z]+$/;
var regAlpha =/^[a-zA-Z]+$/;
var regHost =/^[a-zA-Z-]+$/;
var regHangul =/[가-힣]/;
var regHangulEng =/[가-힣a-zA-Z]/;
var regHangulOnly =/^[가-힣]*$/;
var regId = /^[a-zA-Z]{1}[a-zA-Z0-9_-]{4,15}$/;
var regDate =/^[0-9]{4}-[0-9]{2}-[0-9]{2}$/;
patten = eval(patten);
if(!patten.test(field.value)){
alert(name + "\n\n항목의 형식이 올바르지 않습니다.");
field.focus();
return false;
}
return true;
}
function chkText(field, name)
{
if(field.value.length < 1){
alert(name);
field.focus();
return false;
}
return true;
}
function chkCheckbox(form, field, name)
{
fieldname = eval(form.name+'.'+field.name);
if (!fieldname.checked){
alert(name);
field.focus();
return false;
}
return true;
}
function chkRadio(form, field, name)
{
fieldname = eval(form.name+'.'+field.name);
for (i=0;i<fieldname.length;i++) {
if (fieldname[i].checked)
return true;
}
alert(name);
field.focus();
return false;
}
</script>
<TABLE BORDER="1">
<FORM name="form1" METHOD="post" ACTION="" onSubmit="return chkForm(this)">
<TR>
<TD>체크박스</TD>
<TD>
<INPUT TYPE="checkbox" NAME="checkbox" VALUE="checkbox" required hname="체크박스를 선택해 주세요.">
</TD>
</TR>
<TR>
<TD>라디오</TD>
<TD>
<INPUT TYPE="radio" NAME="radiobutton" VALUE="1" required hname="라디오를 선택해 주세요.">1
<INPUT TYPE="radio" NAME="radiobutton" VALUE="2">2
</TD>
</TR>
<TR>
<TD>셀렉트</TD>
<TD>
<SELECT NAME="제품종류" required hname="셀렉트를 선택해 주세요.">
<OPTION VALUE=""></OPTION>
<OPTION VALUE="스케이트">스케이트</OPTION>
<OPTION VALUE="프레임">프레임</OPTION>
<OPTION VALUE="휠">휠</OPTION>
<OPTION VALUE="베어링">베어링</OPTION>
<OPTION VALUE="보호장구">보호장구</OPTION>
<OPTION VALUE="기타">기타</OPTION>
</SELECT>
</TD>
</TR>
<TR>
<TD>패스워드</TD>
<TD>
<INPUT TYPE="password" NAME="비밀번호" SIZE="30" VALUE="" required hname="비밀번호를 넣어주세요.">
</TD>
</TR>
<TR>
<TD>텍스트</TD>
<TD>
<INPUT TYPE="text" NAME="이름" SIZE="30" VALUE="" required hname="이름을 넣어주세요.">
</TD>
</TR>
<TR>
<TD>이메일</TD>
<TD>
<INPUT TYPE="text" NAME="이메일" SIZE="30" VALUE="" required option="regMail" hname="이메일을 넣어주세요.">
</TD>
</TR>
<TR>
<TD>전화번호</TD>
<TD>
<INPUT TYPE="text" NAME="집전화" SIZE="30" VALUE="" required option="regPhone" hname="전화번호를 넣어주세요.">
</TD>
</TR>
<TR>
<TD>날짜</TD>
<TD>
<INPUT TYPE="text" NAME="날짜" VALUE="" required option="regDate" hname="날짜를 넣어주세요.">
</TD>
</TR>
<TR>
<TD>글</TD>
<TD>
<TEXTAREA NAME="글" COLS="50" ROWS="5" required hname="남길글을 넣어 주세요."></TEXTAREA>
</TD>
</TR>
<TR>
<TD> </TD>
<TD>
<INPUT TYPE="submit" NAME="Submit" VALUE="확인">
</TD>
</TR>
</FORM>
</TABLE>
<TABLE BORDER="1">
<FORM name="form2" METHOD="post" ACTION="" onSubmit="return chkForm(this)">
<TR>
<TD>체크박스</TD>
<TD>
<INPUT TYPE="checkbox" NAME="checkbox" VALUE="checkbox" required hname="체크박스를 선택해 주세요.">
</TD>
</TR>
<TR>
<TD>라디오</TD>
<TD>
<INPUT TYPE="radio" NAME="radiobutton" VALUE="1" required hname="라디오를 선택해 주세요.">1
<INPUT TYPE="radio" NAME="radiobutton" VALUE="2">2
</TD>
</TR>
<TR>
<TD> </TD>
<TD>
<INPUT TYPE="submit" NAME="Submit" VALUE="확인">
</TD>
</TR>
</FORM>
</TABLE>
</PRE>


0