/ php / index / english dictionary

 회원가입 |  로그인

{php 6}
( home ) 2004-07-08 17:48:01


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

나 php 공부한다~*(http://cafe.daum.net/phplove
게 시 판 : H _♡ PHP 강의란
번    호 : 9
제    목 : lesson6
글 쓴 이 : 이광민
조 회 수 : 1961
날    짜 : 2000/11/19 22:12:04
내    용 :
토욜날 정모 못가서 정말 아쉽습니다.
오늘 일욜인데도 사무실 사람들 다 나와서
맨땅에 해딩 중이거든염.. --;; 쩝. 구래서
강의 내용이 별로 충실하지 못한점 사과 드리구염.
이번에 파일로 저장하는 부분까지 하려고 했는데
그부분은 어렵지 않으니까 여러분이 한번해보시구염.
다음시간에 제가 만든거랑 비교해 보심 저을것 같군염.
어쨌든 자꾸 약속 못 지켜서 죄송합니다. 구럼 시장

<html>
<title>test</title>
<head>
<script language="javascript">
//자바스크립트를 html에 어떻게 삽입하는가는 다아시죠?
//전 그래도 head tag 사이에다 js파일로 src 시키는걸 저아합니다.
//섞이는게 시로염.. --;;

//이넘들은 아래 함수에서 쓰여질 것들입니다.
//숫자를 체크하기 위한 함수에서 쓰여질넘
var    _intValue   = '0123456789.';
//이넘은 대문자 영문
var    _upperValue = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
//이넘은 소문자 영문
var    _lowerValue = 'abcdefghijklmnopqrstuvwxyz';
//이넘은 특수문자
var    _etcValue   = ' ~`!@#$%%^&*()-_=+|[{]};:'",<.>/?';
//이넘은 나중에 document.formname. <-요짓하기 싫어서.. --;;
var    form_name;


//새창을 띄우기 위한 함수 입니다. url을 입력받아서
//가로 300 세로 200 스크롤바 없고 상태표시줄 있는 구런 넘을 띄웁니다.
//맘대로 window 모양을 만들 수 있겠죠?
function new_open(open_url){
        open(open_url,'win2','width=300,height=200,scrollbars=no, status=yes');
}

//대문자가 포함되어 있는가 체크하는 함수 입니다.
//한자라도 들어있는가를 체크하는데 이름에 한글이외의
//것이 들어가지 않기 위해서 만들었습니다.
function IsUpper(value) {   //대문자가 포함되어 있는가?
    var   i;  //걍변수
    var   j;  //나두
    var   k;  //마찬가지
    for(i=0;i<value.length;i++){
//for문이 사용되었는데 value.length는 입력받은 문자열의 길이를 리턴합니다.
//abc면 3 defg면 4를 return 하겠죠?
        k = value.charAt(i); //각문자 하나 하나가 k로 들어가겠죠?
//chatAt라는 메소드가 사용되었습니다. 문자열에서 특정 위치에 있는 문자를
//리턴합니다. silce로도 가능하지만 간단한거 나두고 구지 어련거롤 할
//필요는 없겠죠? 대신 slice는 여러가지 패턴으로 자를때 유용합니다.
//사용법은 slice(시작점, 끝점) 음수도 사용가능한데요. 이리저리
//해보시면 어케 쓰는지 알 수있을 겁니다. 문자열 가지고 노는데 유용하니까
//꼭기억하세요.
        for(j=0;j<_upperValue.length;j++)
//for문이 중첩(겹쳐) 있군요. 마찬가지로 위에서 선언한 변수를 하나하나
//비교해서 일치하는가를 검사하는 것입니다.
                if(k == _upperValue.charAt(j)) {
                              return true; //한자라도 들어있으면 true를 return하고
                        break; //for문을 빠져 나오겠죠?
                }
    }
    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;
}
//me too
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;
}
//이건 위에 거랑 유사한긴 한데 아래에서 쓰이지는 않고
//숫자인가를 확인하기 위해 만든 함수를 만들고 나서는
//몇자 바꿔서 만들었습니다.
//입력된 문자열이 모두다 대문자인가를 확인하는 것입니다.
//모두 대문자이면 true를 리터하겠죠?
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;
}
//이건 긁어온 것인데 영문가 숫자로만 이루어 졌을때
//true를 리턴하고 잡것이 들어가면 false를 리턴합니다.
function charTest(name) {
    for(var i=0; i<name.length; i++) {
        vAsc = name.charCodeAt(i);
//charCodeAt 메소드는 문자의 유니코드 값을 리턴해 주는데
//97부터 123까지 가 알파벳 소문자죠.. 유니코드에서 ^_^
        if ((vAsc > 96) && (vAsc < 124))    //요게 소문자
            continue;
//65부터 90까지가 대문자입니다.
        if ((vAsc > 64) && (vAsc < 91))     //요건 대문자
            continue;
//1-9까지는 48-57까지죠. 유니코드가 궁금하신 분들은
//인터넷에서 찾으세염. ^_^ 나중에 유용할 수 있습니다.
        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)) ||
             email.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;
    return true;
}
//오늘의 히로인인 주민들록 체크 알고 리즘입니다.
//참 궁금해 하시는 분들이 많은데염.
//좀 골치 아픕니다.. 에공 설명할 생각을 하니 또
//머리가 아프군염..--;;
//저의 나쁜머리로 기억이 정확하다면
//전부다 더해서 10으로 나누어서 나머지로 어쩌고 하는데
//머리가 나쁜 관계로 잘 생각이 나지 않습니다.
//궁금하신 분들은 phpschool에 가시면 잘 설명해 놓은
//글들이 많으니까 참고하시구염. --;;
//설명이 너무 길어 질것 같아서 생략합니다. --;;
//사실은 잘 몰라염.. --;;
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 form_check(){


        form_name=document.membership;
        //document.membership을 form_name으로 정의해서 아래부턴
        //form_name이라고 줄여서 쓸 수 있습니다.
        //ID 체크
        if(form_name.id.value == ""){
        //이름값이 ""이면 경고 메시지를 띄우고
                alert("ID를 입력해 주세요");
        //id text상자에 focus를 주고
                form_name.id.focus();
        //form으로 돌려 보냅니다.
                return false;
        }
        //영문과 소문자 인지 확인하는 루틴이죠?
        if(charTest(form_name.id.value) == false){
                alert("ID는 영문 소문자와 숫자로만 이루져야 합니다.");
                form_name.id.focus();
                return false;
        }
        //id가 4자이상 10자 이하인가 확인하는 루틴
        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;
        }
        //이름을 2~4자까지만 받아서 가라 입력을 못하게 합니다.
        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;
        }
}

</script>
</head>
<body>
<form name="membership" action="./membership.php" method="post" onsubmit="return form_check()">
<table border=0>
<tr>
<td>ID</td>
<td align="left"><input type="text" name="id" maxlength="10" size="10">
<input type="button" name="id_check" value="ID검색" onclick="new_open('./id_check.php3')"></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"></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" name="go" value="신청"></td>
<tr>
</table>
</body>
</html>

원래는 좀더 까리한 폼을 짤라구 했는데 제가 좀 바빠서리
죄송합니다. 강의가 갈수록 허접해 지는 군염.
하지만 12월 15일 이후(프로젝트 만기일)에는 정말 성심성의 껏
강의를 올리겠습니다. 다음시간에는 위에서 넘어온 값들을
파일로 저장하는 루틴을 작성해 보겠습니다.
여러분이 작성한 것과 비교해 보면 되겠죠? 물론
여러분껏 보다 나을리는 절대 없습니다. 그럼 다음에.. ^_^



  목록

 . 
 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