/ php / index / english dictionary

 회원가입 |  로그인

{php 7-1}
( home ) 2004-07-08 17:48:43


        --------------------- [원본 메세지] ---------------------

나 php 공부한다~*(http://cafe.daum.net/phplove
게 시 판 : H _♡ PHP 강의란
번    호 : 11
제    목 : lesson7-1
글 쓴 이 : 이광민
조 회 수 : 1804
날    짜 : 2000/11/26 22:24:31
내    용 :
괜히 나갔다가 입맛만 버리구 왔네염.. --;;
소스 설명을 드릴까 합니다..
먼저 member.html과 membership.js 두파일을 합쳐서 설명을 드리죠.
이파일들은 저번 시간에 설명드린 파일을 조금 확장해서 만든것입니다.
확장된 내용만 설명드리졈..

<html>
<title>test</title>
<head>
<script language="javascript">
var    _intValue   = '0123456789.';
var    _upperValue = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
var    _lowerValue = 'abcdefghijklmnopqrstuvwxyz';
var    _etcValue   = ' ~`!@#$%%^&*()-_=+|[{]};:'",<.>/?';
var        form_name;

function new_open(open_url, str){
    if(str=="1"){
        open(open_url,'win2','width=300,height=250,scrollbars=no, status=yes');
    }else{
        open(open_url,'win2','width=450,height=400,scrollbars=yes, status=yes');
    }    
}

function IsUpper(value) {   //대문자가 포함되어 있는가?
    var   i;
    var   j;
    var   k;
    for(i=0;i<value.length;i++){
k = value.charAt(i);
for(j=0;j<_upperValue.length;j++)
if(k == _upperValue.charAt(j)) {
      return true;
break;
}
    }
    return false;
}

function IsLower(value) {   //영문 소문자가 포함되어 있는가?
    var   i;
    var   j;
    var   k;
    for(i=0;i<value.length;i++){
k = value.charAt(i);
for(j=0;j<_lowerValue.length;j++)
if(k == _lowerValue.charAt(j)) {
      return true;
break;
}
    }
    return false;
}

function IsInt(value) {    //숫자가 포함되어 있는가?
    var   i;
    var   j;
    var   k;
    for(i=0;i<value.length;i++){
k = value.charAt(i);
for(j=0;j<_intValue.length;j++)
if(k == _intValue.charAt(j)) {
      return true;
break;
}
    }
    return false;
}

function IsEtc(value) {    //특수문자가 포함되어 있는가?
    var   i;
    var   j;
    var   k;
    for(i=0;i<value.length;i++){
k = value.charAt(i);
for(j=0;j<_etcValue.length;j++)
if(k == _etcValue.charAt(j)) {
      return true;
break;
}
    }
    return false;
}

function AllUpper(value){    //모두 영문 대문자 인가?
    var   i;
    var   j;
    var   k;
    var   l;
    for(i=0;i<value.length;i++){
l = 0;
k = value.charAt(i);
for(j=0;j<_upperValue.length;j++)
if(k == _upperValue.charAt(j)) {
      l++;
}
if(l==0){
return false;
break;
}
    }
    return true;
}

function AllLower(value){    //모두 영문 소문자 인가?
    var   i;
    var   j;
    var   k;
    var   l;
    for(i=0;i<value.length;i++){
l = 0;
k = value.charAt(i);
for(j=0;j<_lowerValue.length;j++)
if(k == _lowerValue.charAt(j)) {
      l++;
}
if(l==0){
return false;
break;
}
    }
    return true;
}

function AllInt(value){    //모두 숫자 인가?
    var   i;
    var   j;
    var   k;
    var   l;
    for(i=0;i<value.length;i++){
l = 0;
k = value.charAt(i);
for(j=0;j<_intValue.length;j++)
if(k == _intValue.charAt(j)) {
      l++;
}
if(l==0){
return false;
break;
}
    }
    return true;
}

function AllEtc(value){    //모두 특수문자 인가?
    var   i;
    var   j;
    var   k;
    var   l;
    for(i=0;i<value.length;i++){
l = 0;
k = value.charAt(i);
for(j=0;j<_etcValue.length;j++)
if(k == _etcValue.charAt(j)) {
      l++;
}
if(l==0){
return false;
break;
}
    }
    return true;
}


function charTest(name) {
    for(var i=0; i<name.length; i++) {
        vAsc = name.charCodeAt(i);

        if ((vAsc > 96) && (vAsc < 124))    //요게 소문자
            continue;
        if ((vAsc > 64) && (vAsc < 91))     //요건 대문자
            continue;
        if ((vAsc > 47) && (vAsc < 58))     //요건 숫자...
            continue;

        return false;       //영문,숫자 이외의 문자가 있는 경우
    }
    return true;            //영문,숫자로만 이루어진 경우
}

function CheckEmail(mail) {
    var atSign;
    var atCnt;
    var i;

    atCnt = 0;
    atSign = 0;

    // 영문/숫자/골뱅이/점 체크 & 골뱅이 찾기
    for (i = 0; i < mail.length; i++) {
        if(!(IsUpper(mail.charAt(i)) || IsLower(mail.charAt(i)) || mail.charAt(i) =='.'|| mail.charAt(i) =='_'|| mail.charAt(i) =='-'|| mail.charAt(i) =='@'||IsInt(mail.charAt(i))))
             return false;

         if(mail.charAt(i) =='@') {
             atSign = i;
             atCnt++;

         }

     }

     if (atCnt == 0 || atCnt > 1) return false;
//  for (i = 0; i < atSign; i++) {
//      if (addr.charAt(i) == '.') return false;
//  }
     return true;
}

function CheckJuminNumber( strJunminNumber1, strJunminNumber2)
{
     var sum;
     sum = 0;

     sum += strJunminNumber1.charAt(0)*2;
     sum += strJunminNumber1.charAt(1)*3;
     sum += strJunminNumber1.charAt(2)*4;
     sum += strJunminNumber1.charAt(3)*5;
     sum += strJunminNumber1.charAt(4)*6;
     sum += strJunminNumber1.charAt(5)*7;

     sum += strJunminNumber2.charAt(0)*8;
     sum += strJunminNumber2.charAt(1)*9;
     sum += strJunminNumber2.charAt(2)*2;
     sum += strJunminNumber2.charAt(3)*3;
     sum += strJunminNumber2.charAt(4)*4;
     sum += strJunminNumber2.charAt(5)*5;

     check = (11 - sum%11)%10;

     if (strJunminNumber2.charAt(6) != check || (strJunminNumber1.length != 6 && strJunminNumber2.length != 7))
     {
         return false;
     }

     if(!(strJunminNumber2.charAt(0) == '1' || strJunminNumber2.charAt(0)  == '2' || strJunminNumber2.charAt(
0) == '3' || strJunminNumber2.charAt(0) == '4'))
     {
         return false;
     }

     return true;
}

function OnlyNumber()
{
     if(( (event.keyCode>47)&&(event.keyCode<58) ) || (event.keyCode == 45)){

         event.returnValue = true;
     }
     else
     {
         event.returnValue = false;
     }
}


function form_check(){
form_name = document.membership;
//ID 체크
    if(form_name.id.value == ""){
        alert("ID를 입력해 주세요");
        form_name.id.focus();
        return false;
    }
    if(charTest(form_name.id.value) == false){
        alert("ID는 영문 소문자와 숫자로만 이루져야 합니다.");
        form_name.id.focus();
        return false;
    }
    if(form_name.id.value.length < 4 || form_name.id.value.length > 10){
        alert("ID는 4자 이상으로 10자 이하로 입력해 주십시오.");
        form_name.id.focus();
        return false;
    }
    if(AllInt(form_name.id.value) == true){
        alert("숫자로만 된 ID는 사용하실 수 없습니다.");
        form_name.id.focus();
        return false;
    }
    //이름 체크
    if(form_name.name.value == ""){
        alert("이름을 입력해 주세요");
        form_name.name.focus();
        return false;
    }
    if(form_name.name.value.length < 2 || form_name.name.value.length > 4){
        alert("이름은 2자 이상 4자 이하입니다.");
        form_name.name.focus();
        return false;
    }
    if(IsUpper(form_name.name.value) == true || IsLower(form_name.name.value) == true || IsInt(form_name.name.value) == true || IsEtc(form_name.name.value) == true){
        alert("한글 이름을 사용해 주십시오");
        form_name.name.focus();
        return false;
    }
    if(form_name.pass.value == ""){
        alert("비밀번호를 입력해 주십시오.");
        form_name.pass.focus();
        return false;
    }
    if(form_name.pass1.value == ""){
        alert("비밀번호 확인을 입력해 주십시오.");
        form_name.pass.focus();
        return false;
    }
    if(form_name.pass.value != form_name.pass1.value){
        alert("입력하신 비밀번호가 일치하지 않습니다.");
        form_name.pass.value = "";
        form_name.pass1.value = "";
        form_name.pass.focus();
        return false;
    }
    if(form_name.pass.value.length < 4){
        alert("비밀번호는 4자 이상이어야 합니다.");
        form_name.pass.value = "";
        form_name.pass1.value = "";
        form_name.pass.focus();
        return false;
    }
    if(form_name.jumin1.value == "" || form_name.jumin2.value == ""){
        alert("주민등록번호를 입력해 주십시오.");
        form_name.jumin1.focus();
        return false;
    }
    if(CheckJuminNumber(form_name.jumin1.value, form_name.jumin2.value) != true){
        alert("올바른 주민등록 번호가 아닙니다.");
        form_name.jumin1.value="";
        form_name.jumin2.value="";
        form_name.jumin1.focus();
        return false;
    }
    if(form_name.addr1.value == ""){
        alert("주소를 입력해 주십시오");
        form_name.addr_input.focus();
        return false;
    }
    if(form_name.addr2.value == ""){
        alert("주소를 입력해 주십시오");
        form_name.addr_input.focus();
        return false;
    }
    if(AllInt(form_name.phone1.value) == false || AllInt(form_name.phone2.value)==false || AllInt(form_name.phone3.value)==false){
        alert("전화번호는 숫자로만 입력하여 주십시오");
        form_name.phone1.value==""
        form_name.phone2.value==""
        form_name.phone3.value==""
        form_name.phone1.focus();
        return false;
    }
    if(form_name.school.selectedIndex==0){
        alert("최종학력을 선택해 주세요");
        form_name.school.focus();
        return false;
    }
    if(CheckEmail(form_name.email.value)==false){
        alert("E-Mail양식이 잘못되었습니다.");
        form_name.email.value="";
        form_name.email.focus();
        return false;
    }
    if(form_name.job.selectedIndex==0){
        alert("직업을 선택해 주세요");
        form_name.job.focus();
        return false;
    }
    if(form_name.fav.selectedIndex==0){
        alert("관심분야를 선택해 주세요");
        form_name.fav.focus();
        return false;
    }
//이부분이 추가된 내용이내염..  폼에서 각 input 개체들 속성을
//disabled라고 주면 그 개체들은 보여지기만 하고 실제로는 사용
//되지 않는 것들입니다. 그래서 값을 넘기기 전에 이 속성들을
//false로 만들어 주어야만 값들이 재대로 넘어가겠져?
//처음에 diabled 시켜논 이유는 보다 정확한 데이터를 입력받기
//위해서 입니다. onfocus이밴트 에다 어떤 동작을 주어서
//입력하지 못하게 하기도 합니다만 사용자에게 쓸데없는 동작을
//하게 하는 것 같아서 이런식으로 처리하였습니다.
    form_name.id.disabled=false;
    form_name.marry_day.disabled=false;
    form_name.zip1.disabled=false;
    form_name.zip2.disabled=false;
    form_name.addr1.disabled=false;
    form_name.addr2.disabled=false;
}
//이부분은 주민등록번호를 이용해서 사용자의 성별과 생일을
//자동으로 입력하는 부분입니다.
//이폼에서는 양력음력생일을 구분해서 받지 않았습니다.    
function auto_check(){
    form_name = document.membership;
    var i;
    var j;
    i=form_name.jumin2.value.slice(0,1);
//slice 메소드를 사용해서 주민등록번호의 두번째 쳅터의
//첫자리로 성별을 구분하였습니다.
    j="19" + form_name.jumin1.value;
    if(i==1){
        form_name.sex[0].checked = true;
    }else if(i==2){
        form_name.sex[1].checked = true;
    }
        if(form_name.jumin1.value != ""){
        form_name.birth.value=j;
    }
    form_name.addr_input.focus();
}
//이함수는 미혼을 체크한 사람들이 결혼기념일을 입력할 수 없도록 한
//것입니다.    
function day_disable(){
    document.membership.marry_day.disabled=!document.membership.marry[1].checked;
    //marry_day의 disabled 속성과 marry[1]의 checked 속성이 동시에 true 일 수 없
    //없도록 하였습니다.
    if(document.membership.marry[1].checked == true){
        document.membership.marry_day.style.background="white";
    }else{
        document.membership.marry_day.value="";    
        document.membership.marry_day.style.background="#D5D5D5";
    }
}

</script>
</head>
<body>
//post방식의 폼으로 onsubmit이벤트 발생시 form_check()라는 함수를 실행하도록
//하였습니다.
<form name="membership" action="./save.php3" method="post" onsubmit="return form_check()">
<table border=0>
<tr>
<td>ID</td>
//id입력 form의 속성을 disabled로 하여서 id를 확인해 보지 않고 입력하는
//경우를 없도록 하였습니다.
<td align="left"><input type="text" name="id" maxlength="10" size="10" disabled style="background:#D5D5D5">
<input type="button" name="id_check" value="ID검색" onclick="new_open('./check.html','1')"></td>
</tr>
<tr>
<td align="left">이름</td>
<td align="left"><input type="text" name="name" maxlegth="10" size="10"></td>
</tr>
<tr>
<td align="left">비밀번호</td><td align="left"><input type="password" name="pass" maxlegth="10" size="10"></td>
</tr>
<tr>
<td align="left">비밀번호확인</td><td align="left"><input type="password" name="pass1" maxlength="10" size="10"></td>
</tr>
<tr>
<td align="left">주민등록번호</td><td align="left"><input type="text" name="jumin1" maxlength="6" size="10">-
<input type="text" name="jumin2" maxlength="7" size="10" onblur="auto_check()"></td>
</tr>
<tr>
<td align="left">성별</td><td align="left"><input type="radio" name="sex" value="1">남    
<input type="radio" name="sex" value="2">여</td>
</tr>
<tr>
<td align="left">생년월일</td><td align="left"><input type="text" name="birth" maxlength="8"></td>
</tr>
<tr>
<td align="left">결혼여부</td><td align="left">
<input type="radio" name="marry" value="1" checked onclick="day_disable()">미혼
<input type="radio" name="marry" value="2" onclick="day_disable()">기혼  
</td>
</tr>
<tr>
<td>결혼기념일</td>
<td>
<input type="text" name="marry_day" maxlength="8" size="10" disabled style="background:#D5D5D5"></td>
</tr>
<tr>
<td align="left">주소</td>
<td align="left"><input type="text" name="zip1" maxlength="3" size="3" disabled style="background:#D5D5D5">-
<input type="text" name="zip2" maxlength="3" size="3" disabled style="background:#D5D5D5">
<input type="button" name="addr_input" onclick="new_open('./zipsearch.html','2')" value="주소입력"><br>
<input type="text" name="addr1" size="30" disabled style="background:#D5D5D5"> <input type="text" name="addr2" size="15" disabled style="background:#D5D5D5">
</td>
</tr>
<tr>
<td align="left">전화번호</td>
<td align="left"><input type="text" name="phone1" maxlength="4" size="4">-<input type="text" name="phone2" maxlength="4" size="4">
-<input type="text" name="phone3" maxlength="4" size="4">  (*연락 가능한 전화번호)
</td>
</tr>
<tr>
<td align="left">최종학력</td>
<td align="left">
<font size='2'><select name='school' tabindex='24'>
<option selected>* 학력선택</option>
<option value='고졸이하'>* 고졸이하</option>
<option value='전문대재'>* 전문대재</option>
<option value='전문대졸'>* 전문대졸</option>
<option value='대재'>* 대재</option>
<option value='대졸'>* 대졸</option>
<option value='대학원 재학'>* 대학원  재학</option>
<option value='대학원 졸업'>* 대학원 졸업</option>
<option value='기타'>* 기타</option></select> </font>
</td>
</tr>
<tr>
<td align="left">E-Mail</td>
</td>
<td align="left"><input type="text" name="email" maxlength="30" size="20">
<a href="http://register.daum.net" target="_new"><font size="2">무료메일신청</font></a>
</td>
</tr>
<tr>
<td align="left">직업 & 관심분야</td>
<td align="left">
<font size="2">
<select name='job' tabindex='26'>
<option selected value='00'>* 직업선택</option>
<option value='회사원'>* 회사원</option>
<option value='공무원'>* 공무원</option>
<option value='교직원'>* 교직원</option>
<option value='군인'>* 군인</option>
<option value='전문직'>* 전문직</option>
<option value='자영업'>* 자영업</option>
<option value='초,중고생'>* 초,중고생</option>
<option value='대학생 이상'>* 대학생 이상</option>
<option value='주부'>* 주부</option>
<option value='프리랜서'>*  프리랜서</option>
<option value='기타'>* 기타</option></select>
        
<select name='fav' tabindex='27'>
<option selected value='00'>* 분야선택</option>
<option value='컴퓨터'>* 컴퓨터</option>
<option value='스포츠'>* 스포츠</option>
<option value='레저'>* 레저</option>
<option value='여행'>* 여행</option>
<option value='취업'>* 취업</option>
<option value='유학'>* 유학</option>
</font>
</td>
</tr>
<tr>
<td align="left">Mailing Service</td>
<td align="left">
<input type="radio" name="wmail" value="y" checked> : 수신
<input type="radio" name="wmail" value="n"> : 미수신
</td>
</tr>
<tr>
<td colspan="2" align="center"><br><input type="submit" name="go" value="신청"></td>
<tr>
</table>
</body>
</html>
문안하고 간단한 내용이져? 다음은 check.html 과 check.php3를 분석해 보도록 하겠습니다.



  목록

 . 
 php 게시판 소스 2 
 php 게시판 소스 1 
 php 게시판 
 게시판 짜기위한 게시판 ^-^; 
 문자열 연결 연산자 . 마침표    : 스터디
 러닝 php 책소스    : 스터디
 php 폼 자동완성  비밀글입니다  : 폼테그
 디데이 d-day 만들기    : asp
 파일 include 하기    : 팁
 php 간단한 카운터    : 팁
 입력폼에서 엔터키 치면 스크립트 실행하기.    : 팁
 response체, request객체, server객체    : asp
 링크    : asp
 반복되는 링크 묶기    : asp
 ....  비밀글입니다  : 공지
 텟넷 명령어    : 팁
 텔넷 접속    : 팁
 간단한 방명록 소스    : 스터디
 사이트 [1]   : 팁
 mysql 기본설정    : MySql
 ssh    : 팁
 zterm    : 팁
 자바 키워드    : 팁
 자바개발 프로그램설치    : 팁
 [강의] 게시판 목록을 보여주는 부분입니다..    : 스터디
 while 문으로 이미지쉽게보이기 [2]   : 팁
 php 7-2    : 스터디
 php 7-1    : 스터디
 php 6    : 스터디
 php 5    : 스터디
 php4    : 스터디
 php3    : 스터디
 php2    : 스터디
 php1 [3]   : 스터디
 CREATE TABLE    : MySql
 SQL 1    : 스터디
 문단 양쪽정렬    : 스터디
 초간단 php 랜덤 이미지 및 랜덤 배경이미지 소스    : 팁
  [정보] 초보분들을 위한 PC부품 구매를 위한 도우미    : 팁
 쿠키를 이용한 사용자 인증    : 팁
 테이블 색 다르게 지정 하기 다른방법    : 팁
 자동링크 function    : 팁
 [리눅스] 리눅스 기본명령어 50    : 스터디
 my sql    : MySql
 Database의 구조    : 스터디
 데이터 베이스 1    : 스터디

    목록            1

Copyright 1999-2018 Zeroboard / skin by Yoojunge