회원 가입시 검증 함수/기재 테이블의 prototype.

version

0.1

필수 요소

mysql 기준.
항복이름 컬럼명 데이터형 크기 null 허용 기본값 비고
회원번호 no int unsigned not
이름 user_name varchar 14 not 자바스크립트 등에서 name은 예약어이기 때문에 user란 접두어를 붙인다.
일반전화번호 phone varchar 20 not 사람에 따라 전화번호만 있을 수도 있고 휴대전화만 있을 수도 있다. 어느 것을 not null로 할 것인가? 둘 중 하나를 반드시 입력하게 하는 것은 입력 단의 몫이다. 휴대전화 혹은 가정전화를 위한 서비스를 위해서 둘을 구분하는 것 만은 어쩔 수 없다.
휴대전화번호 mobile varchar 20 null 하나를 입력하게 할 것인가, 두 개 이상 입력 가능하게 할 것인가?
메일주소 email varchar 50 not

각 항목에는 인덱스 삽입.
메일 주소는 고유값으로 한다.

create table member( no int(11) unsigned not null auto_increment, user_name varchar(14) not null, phone varchar(20) null, mobile varchar(20) null, email varchar(50) not null, rn1 varchar(6) null, rn2 varchar(7) null, post varchar(7) not null, address1 varchar(100) not null, address2 varchar(100) not null, comment longtext null, extra_var1 varchar(500) null, primary key(no) );

길이에 대한 고찰

항목이름 가장 짧은 / 긴 예제 길이
일반전화 1234567 (지역번호 생략) / (060) 1234 - 5678 7자 / 17자
휴대전화 0102223333 / (010) 0000 - 0000 10자 / 17자
이름 이이 / 모모마마미미미 2자 4바이트 / 두글자 성 + 부모성함께쓰기 + 세자 이름 = 7자 14byte(현실성이???)
메일 test@te.kr 10자? 좀더 알아봐야할듯.

HTML FORM & Javascript Checker

no는 수정을 위해 삽입.
추후 email에는 자동완성을 사용할 것. 형식 검사를 추가할 것.
<script type="text/javascript"> //이 코드는 http://blog.stevenlevithan.com/archives/faster-trim-javascript 에서 가져왔다. function trim(str){ return str.replace(/^\s\s*/, '').replace(/\s\s*$/, ''); } function check(f){ var error = ""; var phoneValue = trim(f.phone.value); var mobileValue = trim(f.mobile.value); if(f.user_name.value.length < 2) error="이름이 너무 짧습니다."; else if(phoneValue == "" && mobileValue == "") error="전화번호중 하나는 반드시 입력하셔야 합니다."; else if(phoneValue != "" && phoneValue.length < 7 ) error="일반전화의 번호가 입력되지 않았거나 너무 짧습니다."; else if(mobileValue != "" && mobileValue.length < 10 ) error="휴대전화의 번호가 입력되지 않았거나 너무 짧습니다."; else if(f.email.value.length < 10) error="메일 주소가 입력되지 않았거나 주소가 너무 짧습니다."; var result = true; if(error != ""){ alert(error); result = false; } return result; } </script> <form method="post" onsubmit="return check(this);"> <input name="no" type="hidden" /> <label for="user_name">이름</label> <input name="user_name" type="text" size="14" maxlength="14" /> <label for="phone">일반전화</label> <input name="phone" type="text" size="20" maxlength="20" /> <label for="mobile">휴대전화</label> <input name="mobile" type="text" size="20" maxlength="20" /> <label for="email">메일주소</label> <input name="email" type="text" size="50" maxlength="50" /> <input type="submit" value="확인" /> </form>
이것들의 생성을 자동화할 수는 없을까? 최소한 javascript/html만이라도.
powered by Moniwiki | themed by clockoon
last modified 2008-12-30 10:44:13
Processing time 0.3467 sec