RSS구독하기:SUBSCRIBE TO RSS FEED
즐겨찾기추가:ADD FAVORITE
글쓰기:POST
관리자:ADMINISTRATOR
<PRE style="font:8pt verdana;">
<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>&nbsp;</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>&nbsp;</TD>
    <TD>
        <INPUT TYPE="submit" NAME="Submit" VALUE="확인">
    </TD>
</TR>
</FORM>
</TABLE>
</PRE>

이올린에 북마크하기
2008/07/24 17:37 2008/07/24 17:37
http://jiny.kr/trackback/377
전체 (406)
지니소식 (4)
자료실 (4)
정보|뉴스 (5)
SmartPhone (1)
Languages (206)
Server (153)
Database (27)
Design (4)
Gallery (0)
분류하기귀찬.. (2)
«   2012/02   »
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29      
  1. 창의력과 상상력을 넘어서  2009
    Tomcat 6.0 기본 환경 설정
  2. 닥공  2009
    서블릿 tomcat 6.0 실행시 에러
  1. 2010/07 (1)
  2. 2010/05 (1)
  3. 2010/02 (3)
  4. 2010/01 (3)
  5. 2009/05 (2)
Statistics Graph