RSS구독하기:SUBSCRIBE TO RSS FEED
즐겨찾기추가:ADD FAVORITE
글쓰기:POST
관리자:ADMINISTRATOR
'HTML/JAVASCRIPT'에 해당되는 글 24
출처 블로그 > /JAVA/Servlet/JSP
원본 http://blog.naver.com/nova750/70003479208

JavaScript Reference
      
1.자바스크립트 기본문법
  [1] 기본형식
   1)
<script language="javascript">
스크립트내용
</script> 의 형식으로 스크립트를 기술한다
   2) 스크립트 블록은 주로 head태그나 body태그내에 기술한다
   3) 한문장이 끝날때마다 문장끝에 ;를 붙인다
   4) 변수는 대소문자를 구별하며 숫자로 시작해서는 안된다
변수 선언은 var 변수명=초기값; 형식으로 한다
예) var a=3;
   5) document.write구문 --> 문서내에 내용을 출력하는 구문
document.write구문내에서 문자는 ""로 감싸고 변수와 문자를 결합시는
기호를 사용한다
예)
var a=3;
var b=2;
var c=a*b;
document.write("a*b=" c);
=> 출력결과 a*b=3 즉 ""안에 쌓이 값은 문자로서그냥 출력된다
   6) 산술연산자
더하기, -빼기, *곱하기, /나누기, %정수나머지
   7) 관계연산자
> 크다, >=크거나 같다, < 작다, <=작거나 같다, == 같다, != 같지않다
   8) 논리 연산자
!(부정) ,&&(그리고:둘다 참일때만 참),||(또는:둘중하나만 참이어도참)
   9) 함수선언과 호출
함수선언은 function 함수명(인자들){ 함수내용;} 의 형식으로한다
함수호출은 이벤트 핸들러에 의해 이벤트핸들러="함수명(인자들)" 의
형식으로 한다
예)
function myFun(a,b){
var c=a b;
window.alert(c);
}


이런씩으로 코딩되었다면 body태그의 onload이벤트 핸들러(문서가 로드될때호출됨)에 의해 myFun() 함수가 호출되는데 그인자값으로 3과4
를 넘긴다 . a에는 3 b에는 4가 각각 입력된다
그리고 경고창으로 두개를 더한값(c) 7을 띄운다

      
  [2] 제어문
   1) for문 - 동일한 작업의 반복수행
     구조는
for(변수명=초기값;반복종료기준;증감값){
반복수행 내용;
}
의 형식으로 한다
예)
for(i=0;i<3;i ){
document.write("앗사
");
}
i 은 i=i 1 과 같은 의미임.
i--는 i=i-1 과 같은 의미임.
이구문은 i=0에서 시작해서 3보다 작은동안(즉i=0,1,2)총 3번 반복 i를 1식증가하여 앗사와 줄바꿈을 반복 출력한다
반복문에도 몇가지 더있지만 for만으로도 충분합니다...
      
   2) if else구문 - 조건에 따른 제어
     구조는
if(조건식){
조건식이 참일때 수행될문장;
}else{
조건식이 거짓일때 수행될 문장;
}

여기서 조건식이 거짓일때 수행할 문장이 없다면 else부분은 생략할수있다
예)
var a=3;
if(a>5){
alert("a는 5보다 큰값이다");
}else{
alert("a는 5보다 작은값이다");
}
여기서 a는 5보다 작으므로 조건식이 거짓이다 따라서 else이후의 문장이
수행되어 경고창으로 a는 5보다 작은값이다라는 메세지가뜨게 된다
if,else구문대용으로 삼항연산자 ? 기호 가있으나 처음부터 넘 많이 알려고하면 머리 아플것이므로 일부러 설명하지 않겠습니다...
꼭필요한 구문만 설명합니다

   3) switch case 구문 - 조건에 따른 제어
     구조는

switch(변수){
case(변수의 값1):
실행문1;
break;
case(변수의 값2):
실행문2;
break;
..... 계속 case더 있을수 있슴
default:
위조건중 하나도 일치하는것이 없을때 실행할 문장;
break;
}

예)
var a=5;
switch(a){
case(1):
alert("1이다");
break;
case(2):
alert("2다");
break;
case(3):
alert("3이다");
break;
default:
alert("a는 1,2,3은 아니다");
break;
} => 수행결과 a는 1,2,3은 아니다 라는 경고메세지가 뜨게 된다
      
  [3] 내장함수
   1) eval 
     문자열을 숫자로 변환하여 계산결과를 반환한다
     그외에도 루프를 사용해야 하는 부분에서 다양하게 쓰인다
      
   2) parseInt
     문자열로 표시된 정수값을 숫자로 변환한다
     예)
var a="3";
var b="4"; //a,b는 따옴표로 둘러싸여있으므로 현재 문자로 취급됨
var c1=a b; --> c1="34";가 입력된다
var c2=parseInt(a) parseInt(b); --> parseInt에 의해
a,b는 숫자로 변환되며 기호는 덧셈으로 인식되어 c2에는 7이 입력된다
      
   3) parseFloat
     문자열로 표시된 부동소수를 숫자로 변환한다
      
  [4] 문자열 관련 함수
   1) length - 문자열의 길이
     예)
var str="abcdeabc";
var sLen=str.length; sLen에는 8이 입력된다
   2) charAt - 특정위치의 문자
     예)
var str="abcdeabc";
var myChar=str.charAt(2); => myChar에는 "c"가 입력된다
인덱스가 0부터시작하므로 0,1,2 즉 세번째 문자 c가 입력된다
   3) indexOf - 특정문자가 첫번째로 나타나는 위치
     예)
var str="abcdeabc";
var myIdx=str.indexOf("b"); => myIdx 에는 b가 처음으로 나타나는위치 1 이 입력된다
   4) lastIndexOf - 특정문자가 마지막으로 나타나는 위치
     예)
var str="abcdeabc";
var myIdx=str.lastIndexOf("b"); => myIdx에는 b가 마지막으로 나타나는 위치 6이 입력된다
   5) charCodeAt - 특정위치의 문자의 문자코드
     예)
var str="abcdeabc";
var myChar=str.charCodeAt(2); => 세번째 위치의 문자 "c" 의 문자코드인 99가 입력된다
   6) split - 문자를 특정문자를 기준으로 분리한다
     예)
var str="abc-dea-bc";
var partStr=str.split("-");
partStr에는 abc,dea,bc 가 입력된다
partStr[0]에는 abc가 partStr[1]에는 dea가 partStr[2]에는 bc가 입력된다
      
  [5] alert,prompt,confirm
   1) alert - 단순한 경고창을 띄운다.
     alert("메세지 내용");
      
   2) prompt - 사용자로부터 데이타를 입력받는 창을 띄운다
     구조 var 변수명=prompt("메세지내용","기본입력값");
예)
var n=prompt("숫자를 입력하세요","3"); => 숫자를 입력하세요라는 메세지와 기본적으로 입력값 3이 입력된 prompt창이 뜨고 사용자가 여기
숫자를 넣고 확인을 누르면 n에 그값이 입력된다
      
   3) confirm - 사용자에게 다음작업처리의 방향을 물어본다
     주로 if등의 조건제어문과 같이 쓰인다.
확인을 누르면 true반환하고 취소를 누르면 false를 반환한다
구조
if(confirm("확인받을 메세지")){
확인을 눌렀을때 실행할문장;
}else{
취소를 눌렀을때 실행할문장;
}
예)
if(confirm("당신머리는 큽니까?")){
alert("좋으시겠습니다 --;;");
}else{
alert("다행입니다");

      
      


 
2.Event Handler
    
  [1] 이벤트란?
   쉽게 설명해서 어떤웹페이지에서 일어나는 사건.일등을 말합니다.
예를들어 마우스를 클릭한다든가 더블클릭한다든가 브라우저를 닫는다든가 특정객체에 포커스를 가져간다든가 하는 모든것을 이벤트라 할수있습니다.
      
  [2] 이벤트 핸들러란?
   어떤 이벤트가 일어났을때 어떤처리를 해줄것인지를 정의하는 데 사용합니다
      
  [3] 이벤트 핸들러의 종류와 의미
   모든 이벤트 핸들러를 설명하지는 않습니다. 모든걸 한번에 다할려면 골깨집니다.
웹페이지를 만드는데 기본적으로 알아야 할것들만 설명하겠습니다.
      
   onLoad 문서가 로드될때
   onUnLoad 문서를 닫을때 다른 페이지로 이동하려 할때
   onFocus 문서에서 특정객체가 활성화 되었을때,특정입력박스에 포커스가 이동되었을때
   onBlur 문서에서특정객체가 비활성화 되었을때,
특정입력박스에서 포커스가 다른곳으로 떠날때
   onClick 버튼이나 이미지를 클릭했을때
   onDblClick 버튼이나 이미지를 더블클릭 했을때
   onChange 셀렉트박스나 파일 입력상자의 내용이 변경되었을때
   onMouseOver 특정객체위에 마우스를 올렸을때
   onMouseDown 마우스를 눌렀을때
   onMouseOut 특정객체위에 있던마우스가 영역밖으로 나갈때
   onMouseUp 마우스를 눌렀다가 놓았을때
   onKeyDown 키보드를 눌렀을때
   onKeyUp 키보드를 눌렀다 놓을때
   onReset 폼내용이 리셋버튼으로 초기화 될때
   onSubmit 폼내용이 전송되려고 할때
      
      

3.Object
  
  -객체(object)란?
   자바스크립트에서 객체란 브라우저창,이미지,입력양식등...웹문서속의 각각의 모든
항목들을 말한다고 보면 되겠습니다
  -속성이란?
   각 객체가 지닌 특성을 말합니다.
사용법 : 객체명.속성="속성값";
예) window.status="반가워여"; --> 브라우저 상태바에 반가워여라는 글자를 보입니다.
  -메서드란?
   각 객체에게 어떤 동작을하도록하는 명령어라고보면 됩니다.
예를들어 window객체의 close라는 메서드는 브라우저창에게 창을닫도록 명령합니다.
사용법 : 객체명.메서드(인자값);
예) window.alert("경고한다.밥무라"); --> 경고한다.밥무라라는 메세지로경고창을띄웁니다
    
  * 자바스크립트와 DHTML
   객체의 메서드나 속성중에서 근래에는 잘쓰여지지 않는 것들도 있습니다, style을
이용한 다이나믹html이 대체되어 쓰이는경우가 많이 있습니다.
예로 문서의 배경색깔을 동적으로 변경시키고자 할때 예전에는
document.bgColor="#ff00ff";이렇게 썼으나
요즘은 document.body.style.background="#ff00ff";로 쓰는경우도 많이 볼수있습니다.
    
    
  [1] window 객체
   속성 closed 브라우저 창이 닫혔는지를 체크
     opener 현재창이 새창일경우 현재창을열개한 브라우저창
     status 브라우저의 상태표시줄의 정보
     screenLeft 윈도우화면 좌측상단모서리에서 브라우저 상단까지의
x축 거리
     screenTop 윈도우화면 좌측상단모서리에서 브라우저 상단까지의
y축 거리
        
   메서드 alert 경고창을 띄운다
     blur 현재창을 최소화한다.포커스를 잃게 한다
     focus 현재창에 포커스를 준다,활성화 시킨다.
     moveTo(x,y) x,y좌표로 브라우저를 이동시킨다
     moveBy(dx,dy) 현재위치에서 dx,dy만큼 창을 이동
     resizeTo(w,h) 브라우저창 크기를 w(폭),h(높이)로 변경한다
     resizeBy(dx,dy) 브라우저창 크기를 dx,dy만큼 변경한다
     open 새창을 연다
     close 브라우저를 닫는다
     print 문서를 인쇄한다
     setTimeout 특정시간후에 특정작업을 호출합니다
     clearTimeout setTimeout으로 설정한 Timer를 해제합니다
        
       예제보기
  [2] document 객체
   속성 title 문서의 제목
     lastModified 마지막으로 수정된 날짜
     bgColor 문서의 배경색
     fgColor 문서의 글자색
     linkColor 링크의 색상
     alinkColor 링크 클릭시의 색상
     vlinkColor 방문했던 링크의 색상
        
   콜렉션 -문서에 존재하는 여러개의 이미지들이나 링크들 폼들에대한 정보를 배열형식
으로 저장하고있는 속성을 말합니다.
     forms 문서에 여러개의 폼이 있을경우 각폼들은 폼이름대신
document.forms[index]으로 접근할수있습니다
index는 0부터시작합니다.
     links 문서에서의 a href태그들의 정보를 가진 콜렉션
     images 문서에서의 모든 img태그들의 정보를 가짐
     applets 문서에서 여러개의 자바애플릿을 사용했을경우 모든애플릿들의 콜렉션
     embeds 문서에서 embed태그의 콜렉션
        
   메서드 write 문서에 내용쓰기
     writeln 문서에 줄바꿈을 포함한 내용쓰기
        
       예제보기
        
  [3] screen 객체
   속성 width 시스템 스크린의 폭(픽셀)
     height 시스템 스크린의 높이(픽셀)
     availWidth 시스템 스크린중 브라우저의 문서영역 폭
     availHeight 시스템 스크린중 브라우저의 문서영역 높이
        
       예제보기
        
  [4] navigator 객체
   속성 userAgent 브라우저 전체정보
ex) Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)
     appCodeName 브라우저 CodeName
ex) Mozilla
     appVersion 브라우저 Version
ex) 4.0 (compatible; MSIE 6.0; Windows NT 5.0)
     appName 브라우저 이름
ex)Microsoft Internet Explorer
     cookieEnabled 브라우저 쿠키이용 가능여부
반환값 : true/false
   메서드 javaEnabled 브라우저의 자바이용가능여부
반환값 : true/false 
        
       예제보기
        
  [5] history 객체
   속성 length history목록(방문한사이트목록)의 갯수
        
   메서드 go(숫자) 지정숫자만큼 사이트이동
ex) go(2) 앞으로 2번째로 이동
     back 현재사이트 기준에서 이전사이트로 이동
     forward 현재사이트 기준에서 다음사이트로 이동
        
       예제보기
        
  [6] Event 객체
   속성 keyCode 이벤트를 일으킨 키보드의 키코드값
     altKey altKey를 눌렀는지의 여부
     ctrlKey ctrlKey를 눌렀는지의 여부
     shiftKey shiftKey를 눌렀는지의 여부
     button 마우스 오른쪽버튼을 눌렀는지
왼쪽버튼을 눌렀는지의 여부
     clientX 마우스 클릭시 브라우저기준의 x축거리
     clientY 마우스 클릭시 브라우저기준의 y축거리
   * srcElement 이벤트가 일어난 엘리먼트
        
       예제보기
        
  [7] Form 관련객체
   input type="text" 각값은 document.form이름.엘리먼트이름.value 로
접근할수 있다
   input type="password"
   input type="checkbox" 어떤 값이 선택되었는지는 루프를 돌며 checked속성이 true인지 false인지로 체크할수있다
   input type="radio"
   input type="file" 파일업로드를 위한 객체로서 파일값이 변할때
onChange이벤트 핸들러를 사용한다
   input type="button" submit이나 reset버튼의 제한된 기능에 다른여러기능을 추가적으로 스크립트로 제어할때는
input type="button"을 쓰고 onClick이벤트
핸들러를 사용한다
   input type="submit" 폼을 전송한다
   input type="reset" 폼을 초기상태로 reset한다
   select 선택값은 document.forms이름.엘리먼트이름.value로접근할수있습니다
      
       예제보기
       
        
   속성 disabled 버튼이나 셀렉트박스등을 클릭 선택하지 못하게 합니다
     readonly 텍스트 박스의 내용을 읽기 전용으로 합니다
        
       예제보기
        
        
    
        
  [8] Date 객체
   특징 다른 객체와 달리 new연산자와 생성자 함수 Date()를 사용해서 객체인스턴스를
생성한후 그메서드들을 이용할수있다
사실 생성자함수에는 몇가지유형 인자를 가지는 유형이 있으나 인자없는 단순한 Date(); 함수만으로도 충분하다 ..다른 인자를 가지는 생성자들까지 공부할려면
이야기주제는 자바스크립트라기보다 자바에 가까와 질듯하다...
        
   메서드 getTime 1970년 1월1일 오전0시0분0초로 부터 현재까지의 시간을 m초로 반환한다
     getYear 현재의 년도를 반환한다
     getMonth 현재의 월을 반환한다 (1월:0 2월:1...)
     getDate 날짜(1~31)를 반환한다
     getHours 현재의 시간을 반환한다 (5시 --> 17)
     getMinutes 현재의 분을 반환한다
     getSeconds  현재의 초를 반환한다
     getDay 요일(0:일요일 1:월요일)에 대한 숫자를 반환한다
        
   사용예 초를 이용한 랜덤 숫자 생성방법
var myDate=new Date();
var sec=myDate.getSeconds(); //이렇게 하면 sec에는 일단 0~59라는 숫자가 들어있다
var rndNum=sec%7; // %나머지를 구하는 연산자
따라서 rndNum에는 0~6중의 한숫자가 입력된다...
이해가 안되는것은 아닐것으로 보지만 그래도 설명하자면 어떤 수를 7로나누면
나머지는 반드시 0~6중에 하나이다... 아시겠져???
시간은 계속변하므로 웹페이지상에서 랜덤으로 이미지를 보여주고자 할때 사용하면 된다..
사실랜덤숫자 생성법은 다른 방법도 있겠지만 다른방법은 한번 생성된 숫자가
나중에 다시 생성될 가능성이 많아 랜덤의 의미가 떨어지는것 같다..
        
       예제보기
        
   지금까지 자바스크립트에서 사용되는 객체에 대해 개략적으로 알아 보았습니다... 이해가 안되신다면 한번더 읽어보시기 바라면 예제의 소스보기를 눈여겨 보시면 차차 이해가 될것입니다. 이해를 돕기위해 코드에 불필요한 부분은 모두 배제시켰습니다 모든 객체에 대해 알필요까지는 없습니다. 위 객체들에 대해 이해한후 자꾸 자바스크립트에 익숙해지다 보면 필요할때마다 정보를 보면서 자바스크립트를 이용하기만 하면 됩니다 --;;
        
4.CSS(stylesheet)
  stylesheet ?
걍 일반적인 태그의 한계(이미지나 테이블등의 정확한 위치나 테이블내의 셀과 글자
사이의 간격,줄간의 간격,링크의 색깔등)를 극복하고 나아가 동적인 웹페이지를 만들기위한것(?) 뭐 정의가 그렇게 중요한건 아니고 어디서먹느냐 어떻게 사용하느냐가 우선적인 문제일것입니다...
이 사이트가 추구하는바 속성으로 웹페이지 기본을 마스터 하자 이기때문에 모든것을
설명하지는 않습니다.기본적이고 꼭필요한것 만 설명합니다. 나머지는 그때그때 문서
찾아가며 적용해도 됩니다...
      
  [1] css
   1.태그와 태그사이에


2.스타일 정의 파일을 외부에따로 두고 불러오기


3.각태그내에서 정의하기
<태그 style="속성:값">
      
  [2] 선택자
   1) Type선택자
     문서내의 태그엘리먼트에 대한 스타일을 지정한다
예제)
=> 문서내의 input태그들은 모두 글자색을
붉은색으로 정한다는 의미임
      
   2) Class선택자
     문서내의 각요소들에 class속성을 부여할수 있는데 동일한 클래스가 부여된 태그들에 대해서는 동일한 스타일을 지정한다
예제)


본문부분


abc


abc

아래의 div태그의 클래스 속성이 redDiv로써 위에 정의된 클래스명과 같다.따라서 이div 의 배경색은 붉은색이 된다

      
   3) ID선택자
     문서내에 각요소에 대해 오직 하나의 id(다른것과 같아서는 안됨)를 지정할수 있는데 각 아이디가 부여된 태그에대해서 스타일을 지정한다


본문부분

굵은글씨
=> 이 div태그의 아이디가 special이므로 이태그내의 텍스트는 굵은 글자로 나타난다
      
     *head태그내에서 스타일정의할때 여러태그들을 중복해서 정의할수있다

      
  [3] 자주쓰이는 스타일 
   1) 색상
글자색 -> color:색상명 또는 rgb값
배경색 -> background:색상명 또는 rgb값
*** background-color로 써도 됨
      
   2) 배경그림
background:url(배경그림경로)
*** background-image로 써도 됨
-배경그림을 특정위치에 고정시키고 반복하지 않기
=>body{background:url(파일경로명) x위치 y위치 no-repeat fixed}
여기서 x위치 y위치는 %값이나 px값 사용
      
   3) 커서 모양변경
     원래 링크태그(a)에만 마우스를 올렸을경우 손모양으로 바뀌나 코딩하다보면 span태그나 div태그 또는 td태그내에 바로
onclick="location.href='이동파일명'" 이런씩으로 사용할경우
커서가 손모양으로바뀌지 않는다 이때 다음 스타일을 사용한다
 
      
   4) font속성
     물론 기본속성을 그대로 쓰려면 아래 스타일을 지정할 필요없다
font종류-> font-family:font명
font체 -> font-style:italic(기울임)
font굵기 -> font-weight:bold,bolder(굵게,더굵게)
font크기 -> font-size:폰트크기 px이나 pt
      
   5) border테두리
     주로 테이블의 셀이나 레이어태그(div,span)등의 테두리 설정에쓰이나
거의 모든 태그에 사용가능하다
     border:색상 크기 형태; 로사용하거나
테두리중 특정부분 예로 위쪽테두리만 주고싶을경우는
border-top:색상 크키 형태;

예)
=> 테이블의 현재셀의 위쪽테두리는 1픽셀의 회색실선으로 하고 아래쪽 테두리는 1픽셀의 검은색 점선으로 한다는 의미임
      
   6) text-decoration
     글자에 줄을 긋거나 링크에서 줄을 없앨때 사용된다
속성값으로 underline -> 밑줄긋기
overline -> 윗줄긋기
line-through -> 글자를 가로질러 긋기
none -> 링크에밑줄 없애기
      
   7) 위치,크기관련 속성
     위치 : position:absolute;left:수평위치;top:수직위치;z-index:쌓이는 순서;
크기 : width:폭;height:높이;
overflow -> 내용이 컨테이너(내용을 포함하는 레이어)보다 클경우
속성값으로 hidden 넘치는 부분은 숨긴다
auto 필요한 방향으로만 스크롤바를 생성한다
scroll 상하,좌우스크롤바를 모두 생성한다
      
   8) 여백 관련
     -> padding : 컨테이너와 내용사이의 거리
예)  => 이셀내의 글자는 이셀의 좌측에서 10px떨어져서 부터 시작한다
-> margin : 컨테이너와 컨테이너 사이의 거리
예) 이테이블은 브라우저 좌측에서 20px부분에서 시작된다         
   9) text-align 글자 정렬
     특정 컨테이너(레이어나 테이블의셀등에서의 글자의 정렬위치)
속성값 : left , right , center

    
5.DHTML
  이 내용도 마찬가지로 DHTML의 모든것을 설명하지는 않습니다.
가장기본적이고도 꼭 필요한 내용만 설명합니다.
아래 내용만 이해하신다면 다른 것들은 모두 여러분이 응용하실수 있을것입니다
    
  [1] 레이어 보이기 감추기
   -스타일의 visibility 속성을 이용합니다
... 스크립트 방법...................................
=레이어를 감출려면 -> 레이어ID.style.visibility="hidden";
=레이어를 보일려면 -> 레이어ID.style.visibility="visible";
   예제보기
    
  [2] 레이어 크기 변경하기
   -스타일의 pixelWidth,pixelHeight 속성을 이용합니다
... 스크립트 방법 ...................................
=레이어 폭 변경 -> 레이어ID.style.pixelWidth=폭(숫자);
=레이어 높이 변경 -> 레이어ID.style.pixelHeight=높이(숫자);
   예제보기
    
  [3] 레이어 위치 변경하기
   -스타일의 pixelLeft,pixelTop 속성을 이용합니다.
... 스크립트 방법 .................................
=레이어 좌우위치 변경 -> 레이어ID.style.pixelLeft=x축방향위치(숫자);
=레이어 상하위치 변경 -> 레이어ID.style.pixelTop=y축방향위치(숫자);
   예제보기
    
  [4] 레이어 시간적 이동
   -스타일의 pixelLeft,pixelTop 속성과 함께 window객체의 setTimeout
메서드를 이용합니다. setTimeout 메서드를 함수내에 선언하여 반복호출합니다
예)
function goLeft(){
if(myLayer.style.pixelLeft < 200){
//만약 myLayer의 x방향위치가 200px보다 작다면
myLayer.style.pixelLeft=myLayer.style.pixelLeft 10;
//현재 myLayer의 x방향위치를 현재위치에 10을 더하라는 말
setTimeout("goLeft();",100);
//0.1초 뒤에 다시goLeft함수가 호출되어 myLayer위치가 200에 도달할때
//까지 계속이동하고 200에 도달하면 멈추게 됩니다
}

   예제보기
    
  [5] 그외의 속성변경
   예로 마우스를 특정 레이어 위에 올렸을경우 내렸을경우 배경색변경은

onmouseout="this.style.background='gold'" >
이렇게 코딩하면 이레이에 마우스를 올리면 배경색은 green으로 이레이어에서
마우스를 내리면 배경색은 gold로 바뀌게 됩니다

또다른예로 마우스를 특정레이어위에 올렸을경우 내렸을경우 글자크기변경은

onmouseout="this.style.fontSize='10px'">
이렇게 하면 이레이어에 마우스를 올리면 글자크기는 20픽셀로 되고 이레이어에서마우스를 내리면 글자크기는 10픽셀로 됩니다

*이때 주의 할것은 fontSize할때 "S"는 대문자입니다..
*다른경우도 마찬가지로 z-index같은 경우도 -로연결된 스타일은
자바스크립트로 접근시 -다음의 문자를 대문자로 해야 합니다
예-> background-image => 스크립트에서는
레이어ID.style.backgroundImage ...
또한 z-index => 스크립트에서는 레이어ID.style.zIndex 처럼
스타일에서의 "-"문자 뒤의 알파벳은 항상 대문자로 해주어야 합니다...

2006/09/08 22:13 2006/09/08 22:13
이 글에는 트랙백을 보낼 수 없습니다
HTML/JAVASCRIPT  2006/09/08 16:04
출처 블로그 > VirusDesign 세포배양실
원본 http://blog.naver.com/goodvirus/40017546278

#언어 요소엘레멘트설명ECMA
HTML / DHTML 목록HTML / DHTML 엘레멘트들의 목록
Aa<A>웹문서 연결 엘레멘트 A을 참조한다.
acronym<ACRONYM>약어 엘레멘트 ACRONYM을 참조한다.
activeElements 개체의 최상위 활성 시간 자식 엘레멘트의 컬렉션 배열변수을 참조
ActiveXObject IE 자동화 개체 참조를 반환한다.x
address<ADDRESS>주소 블럭 엘레멘트 ADDRESS을 참조한다.
all 해당 개체의 모든 엘레멘트의 컬렉션 배열변수을 참조한다.
anchor<A name=...>연결 이름을 갖는 개체이다.x
anchors 문서의 모든 연결 이름들의 컬렉션 배열변수을 참조한다.
animate(시간)<t:ANIMATE>개체에 지정된 애트리뷰트를 애니메이션한다.
animateColor(시간)<t:ANIMATECOLOR>엘레멘트의 색상을 시간에따라 변환시킨다.
animateMotion(시간)<t:ANIMATEMOTION>엘레멘트의 부분을 시간에따라 애니메이션시킨다.
animation(시간)<t:ANIMATION>HTML 문서에서 애트리뷰트에 시간에 따른 애니메이션을 정의한다.
applet<APPLET>플레이 할수 있는 애플릿 개체를 참조한다.x
applets 문서의 모든 애플릿들의 컬렉션 배열변수을 참조한다.
area<AREA>이미지맵 연결 지역 개체를 참조한다.x
areas 이미지맵 지역 개체 엘레멘트 들의 컬렉션 배열변수을 참조한다.
arguments 기능함수에 전달된 인수 개체 argument들의 컬렉션을 참조한다.o
Array 배열변수 개체를 만들거나 참조한다.o
<PUBLIC:ATTACH>개체에서 이벤트가 발생되면 기능을 호출하도록 기능을 연결시킨다.
attribute 엘레멘트의 속성을 참조한다.
attributes 엘레멘트의 모든 속성들의 컬렉션 배열변수을 참조한다.
audio(시간)<t:AUDIO>HTML 문서에서 애트리뷰트에 시간에 따른 오디오를 정의한다.
Bb<B>글꼴 굴게 표시하는 엘레멘트 <B>을 참조한다.
base<BASE>문서의 기본을 지정하는 엘레멘트 <BASE>을 참조한다.
baseFont<BASEFONT>문서의 기본 글꼴을 지정하는 엘레멘트 <BASEFONT>을 참조한다.
bdo<BDO>지정된 부분의 글자 방향을 덮어 씌우는 엘레멘트을 참조한다.
behaviorUrns 엘레멘트에 첨부된 비헤비어 주소들의 컬렉션 배열변수을 참조한다.
bgSound<BGSOUND>문서의 배경음악을 지정하는 엘레멘트 <BGSOUND>을 참조한다.
big<BIG>큰 글자로 표현하는 엘레멘트 <BIG>을 참조한다.
blockFormats 모든 블럭양식 태그들의 문자열 컬렉션 배열변수을 참조한다.
blockQuote<BLOCKQUOTE>들여쓰기하는 블럭 엘레멘트 <BLOCKQUOTE>을 참조한다.
body<BODY>문서의 본체인 엘레멘트 <BODY>을 참조한다.
bookmarks 모든 북마크들의 컬렉션 배열변수을 참조한다.
Boolean 새 부울값을 만들거나 참조한다.o
boundElements 데이터세트에 반향되는 엘레멘트들의 컬렉션 배열변수을 참조한다.
br<BR>줄바꿈을 실행하는 엘레멘트 <BR>을 참조한다.
button<BUTTON>단추 엘레멘트 <BUTTON>을 참조한다.
button<INPUT type=button>엘레멘트 <INPUT type=button>을 참조한다.
Ccaption<CAPTION>테이블의 제목을 나타내는 엘레멘트 <CAPTION>을 참조한다.
cells 테이블 줄이나 전체 테이블의 칸(cell)들의 컬렉션을 참조한다.
center<CENTER>내용을 중앙에 표현하는 엘레멘트 <CENTER>을 참조한다.
checkbox<INPUT type=checkbox>입력폼의 체크박스 개체
childNodes 개체의 자식 엘레멘트나 텍스트노드들의 컬렉션을 참조한다.
children 개체의 직접 자식 엘레멘트들의 컬렉션 배열변수을 참조한다.
cite<CITE>기울여 쓰는 인용 문구 엘레멘트 <CITE>을 참조한다.
clientInformation IE 웹 브라우저 정보를 제공하는 개체를 참조한다.
clipboardData 잘라내기 데이터를 보관하는 양식 개체를 참조한다.
code<CODE>글자 간격이 일정한 라인모드 엘레멘트 <CODE>을 참조한다.
col<COL>테이블의 컬럼(col)을 지정한는 엘레멘트 <COL>을 참조한다.
colGroup<COLGROUP>테이블의 컬럼(col)들 묶음을 지정하는 엘레멘트을 참조한다.
컬렉션(collection) 목록개체들의 배열변수를 참조한다.
comment<COMMENT>수행되지 않고 표현되지 않는 주석 엘레멘트을 참조한다.
<PUBLIC:COMPONENT>파일의 내용을 HTC(HTML Component)로서 인식한다.
controlRange createControlRange/createRange 메서드로 생성된 개체 컬렉션 참조
currentStyle 공통, 인라인, 애트리뷰트등 종합적으로 적용되는 스타일쉬트 참조
currTimeState(시간) 시간(HTML+time timeline)에 관한 정보를 포함한 개체이다.
custom<CUSTOMTAG:className>작성자가 작성한 엘레멘트 <CUSTOM>을 참조한다.
DdataTransfer 드리그드롭 작업에서 클립보드에 접속을 제공한다.
Date 날짜와 시간 반환/저장o
dd<DD>엘레멘트 <DD>을 참조한다.
defaults<PUBLIC:DEFAULTS>에레멘트에 프로그램적으로 설정된 디폴트 속성들을 참조한다.
del<DEL>엘레멘트 <DEL>을 참조한다.
<DEVICERECT/>LAYOUTRECT 엘레멘트나 인쇄 템플릿의 용기를 제공한다.
dfn<DFN>엘레멘트 <DFN>을 참조한다.
Dialog IE 대화상자 개체를 참조한다.
dialogArguments 속성들에 접속, 미리보기 대화창에 전달하는 인쇄 템플레이트 제공
DialogHelper 색상, 블럭양식, 글꼴양식의 도움 대화창에 접속하는 개체를 참조
Dictionary IE 데이터 키-항목 쌍을 저장x
dir<DIR>엘레멘트 <DIR>을 참조한다.
div<DIV>엘레멘트 <DIV>을 참조한다.
dl<DL>엘레멘트 <DL>을 참조한다.
doctype<!DOCTYPE>문서에 맞는 DTD(Document Type Definition)를 참조한다.
document 문서 개체를 참조한다.
DOMDocument<XML>엘레멘트 <XML> 최상위 노드(node)를 참조한다.
Drive IE 드라이브나 공유 네트워크에 액세스 가능
Drives 컬렉션 IE 모든 드라이브의 읽기 전용 컬렉션
dt<DT>엘레멘트 <DT>을 참조한다.
Eelement 주 문서에 있는 behavior가 첨부된 태그의 참조를 반환한다.
elements 주어진 form 의 입력내용들의 컬렉션을 원본 순서로 참조한다.
em<EM>엘레멘트 <EM>을 참조한다.
embed<EMBED>엘레멘트 <EMBED>을 참조한다.
embeds 엠베드된 개체의 배열변수 컬렉션 배열변수을 참조한다.
Enumerator IE 컬렉션에 있는 항목들을 열거 가능x
Error IE 실행 중 발생하는 오류 정보x
event 마우스, 키입력등 이벤트
<PUBLIC:EVENT>모체 문서에 나타나는HTC의 이벤트를 정의한다.
excl(시간)<t:EXCL>한 자식 개체만 주어진 시간에 플레이하게 허용되는 시간용기 정의
external 호스트에서 제공한 추가적인 개체모델에 접속할 수있게 방식을 제공
fieldSet 필드세트에 포함된 텍스트와 엘레멘트들을 둘러싼 박스를 만듬
FFile IE 파일의 모든 속성에 액세스 가능
Files 컬렉션 IE 폴더 안에 있는 모든 File 개체의 컬렉션
FileSystemObject IE 컴퓨터 파일 시스템에 액세스x
FileUpload<INPUT type=file>입력폼의 file(화일 업로드) 개체
FileUploadControl 파일이나 폴더를 서버에 보낼 수 있게 제어
filter IE 필터 관련 개체(filter 속성)
filters 개체의 필터들의 배열변수 컬렉션 배열변수을 참조한다.
Folder IE 폴더의 모든 폴더, 화일에 액세스 가능
Folders 컬렉션 IE Folder 속의 모든 Folder 개체의 컬렉션
font<FONT>엘레멘트 <FONT>을 참조한다.
fonts 시스템이 지원하는 글꼴들의 컬렉션 배열변수을 참조한다.
form<FORM>입력폼 개체및 배열변수
forms form 개체들의 컬렉션 배열변수을 참조한다.
frame<FRAME>프레임 개체및 배열변수
frames frame 개체들의 컬렉션 배열변수을 참조한다.
frameSet<FRAMESET>엘레멘트 <FRAMESET>을 참조한다.
Function 새로운 기능함수를 만듬o
GGlobal 전역 메서드들을 모은 내부개체o
Hhead<HEAD>엘레멘트 <HEAD>을 참조한다.
<HEADERFOOTER/>인쇄 템플릿이 머릿글/바닥글 양식화할 수 있도록 도구를 제공
hidden<INPUT type=hidden>입력폼의 감춤 개체
history 방문한 기록의 개체및 배열변수
hn<Hn>엘레멘트 <H1>~<H6>을 참조한다.
hr<HR>엘레멘트 <HR>을 참조한다.
HTC HTC(HTML Components)에 대한 설명
HTA<HTA>엘레멘트 <HTML>을 참조한다.
html<HTML>엘레멘트 <HTML>을 참조한다.
HTML 주석HTML에서의 주석부분 <!--- .... -->을 참조한다.
Ii<I>엘레멘트 <I>을 참조한다.
iFrame<IFRAME>엘레멘트 <IFRAME>을 참조한다.
IHTMLElement 인터페이스를 제공한다.
images img 개체들의 컬렉션 배열변수을 참조한다.
Image, img<IMG>엘레멘트 <IMG> 이미지 개체를 생성하고 참조한다.
img<INPUT type=image>엘레멘트 <INPUT type=image>을 참조한다.
img(시간)<t:IMG>HTML 문서에서 애트리뷰트에 시간에 따른 이미지를 정의한다.
implementation 개체에 의하여 지원되는 모듈들에 대한 정보를 참조한다.
imports styleSheet 개체들로 도입된 스타일쉬트들의 컬렉션을 참조
input<INPUT>엘레멘트 <INPUT>을 참조한다.
(input) button<INPUT type=button>엘레멘트 <INPUT type=button>을 참조한다.
(input) checkbox<INPUT type=checkbox>엘레멘트 <INPUT type=checkbox>을 참조한다.
(input) FileUpload<INPUT type=file>엘레멘트 <INPUT type=file>을 참조한다.
(input) hidden<INPUT type=hidden>엘레멘트 <INPUT type=hidden>을 참조한다.
(input) img<INPUT type=image>엘레멘트 <INPUT type=image>을 참조한다.
(input) password<INPUT type=password>엘레멘트 <INPUT type=password>을 참조한다.
(input) radio<INPUT type=radio>엘레멘트 <INPUT type=radio>을 참조한다.
(input) reset<INPUT type=reset>엘레멘트 <INPUT type=reset>을 참조한다.
(input) submit<INPUT type=submit>엘레멘트 <INPUT type=submit>을 참조한다.
(input) text<INPUT type=text>엘레멘트 <INPUT type=text>을 참조한다.
ins<INS>엘레멘트 <INS>을 참조한다.
isIndex<ISINDEX>엘레멘트 <ISINDEX>을 참조한다.
JKkbd<KBD>엘레멘트 <KBD>을 참조한다.
Llabel<LABEL>엘레멘트 <LABEL>을 참조한다.
layer<LAYER>NS 레이어 개체및 배열변수
<LAYOUTRECT />인쇄나 인쇄 미리보기 템플릿에 용기 엘레멘트를 생성하고 참조
legend<LEGEND>엘레멘트 <LEGEND>을 참조한다.
li<LI>엘레멘트 <LI>을 참조한다.
link<LINK>연결 개체 엘레멘트 <LINK>을 참조한다.
links 연결 개체 link 개체들의 컬렉션 배열변수을 참조한다.
listing<LISTING>개체 엘레멘트 <LISTING>을 참조한다.
location 문서 주소 개체
Mmap<MAP>개체 엘레멘트 <MAP>을 참조한다.
marquee<MARQUEE>개체 엘레멘트 <MARQUEE>을 참조한다.
Math 계산기능과 상수를 제공하는 내부개체o
media(시간)<t:MEDIA>HTML 문서에서 애트리뷰트에 시간에 따른 메디어를 정의한다.
MediaItem 메디어 플레이어의 플레이 항목 중 한개의 항목을 참조한다.
menu<MENU>개체 엘레멘트 <MENU>을 참조한다.
meta<META>개체 엘레멘트 <META>을 참조한다.
<PUBLIC:METHOD>모체 문서에 나타나는HTC의 메서드를 정의한다.
mimeType Multipart Internet Mail Extension 개체x
mimeTypes 아직 적용되는 곳이 없다.
Nnamespace<HTML xmlns:newNS>이름자리 개체
namespaces namespace 개체들의 컬렉션 배열변수을 참조한다.
navigator 브라우저 개체
nextID<NEXTID>문서 편집기나 프로그램이 읽을 수 있는 유일한 인식자를 제공한다.
noBR<NOBR>개체 엘레멘트 <NOBR>을 참조한다.
noFrames<NOFRAMES>엘레멘트 <NOFRAMES>을 참조한다.
noScript<NOSCRIPT>엘레멘트 <NOSCRIPT>을 참조한다.
Number 숫자 데이터 개체o
OObject<OBJECT>모든 개체에 공통적인 기능함수 제공o
ol<OL>개체 엘레멘트 <OL>을 참조한다.
optGroup<OPTGROUP>개체 엘레멘트 <OPTGROUP>을 참조한다.
Option<OPTION>입력폼 선택 입력 개체및 배열변수
options option 개체들의 컬렉션 배열변수을 참조한다.
Pp<P>엘레멘트 <P>을 참조한다.
page<PAGE>엘레멘트 <PAGE>을 참조한다.
pages page 개체들의 컬렉션 배열변수을 참조한다.
par(시간)<t:PAR>애트리뷰트에 독립적으로 시간을 관리하는 새 시간 용기를 정의
param<PARAM>엘레멘트 <PARAM>을 참조한다.
password<INPUT type=password>입력폼 암호 입력 개체
plainText 아직 적용되는 곳이 없다.
playItem 연주 항목을 참조한다,
playList 연주 항목 playItem 개체들의 컬렉션을 참조한다,
PlaylistInfo 메디어 플레이어의 플레이 목록에 대한 정보를 참조한다.
plugin 플러그인된 개체 엘레멘트를 참조한다.
plugins plugin 개체들의 컬렉션 배열변수을 참조한다.
popup 메인 윈도우 이외의 대화창, 메시지창등 보조창 개체
pre<PRE>엘레멘트 <PRE>을 참조한다.
priorityClass(시간)<t:PRIORITYCLASS>excl의 일시중지/중지를 갖는 자식들 구룹을 정의한다.
<PUBLIC:ATTACH>개체에서 이벤트가 발생되면 기능을 호출하도록 기능을 연결시킨다.
<PUBLIC:COMPONENT>파일의 내용을 HTC(HTML Component)로서 인식한다.
<PUBLIC:DEFAULTS>엘레멘트 비헤비어에 디폴트값을 반환하거나 설정한다.
<PUBLIC:EVENT>모체 문서에 나타나는HTC의 이벤트를 정의한다.
<PUBLIC:METHOD>모체 문서에 나타나는HTC의 메서드를 정의한다.
<PUBLIC:PROPERTY>모체 문서에 나타나는HTC의 속성을 정의한다.
Qq<Q>엘레멘트 <Q>을 참조한다.
Rradio<INPUT type=radio>입력폼 레디오 단추 입력 개체
RegExp 정규식 패턴 검색에 관한 정보 저장x
ref(시간)<t:REF>HTML 문서에서 시간에 따른 엘레멘트의 참조를 정의한다.
Regular Expression 정규식 패턴을 포함함x
reset<INPUT type=reset>입력폼 재설정 단추 개체
rows row 개체들의 컬렉션 배열변수을 참조한다.
rt<RT>IE 엘레멘트 <RT>을 참조한다.
ruby<RUBY>IE 엘레멘트 <RUBY>을 참조한다.
rule 스타일쉬트에서 지정한 내용을 참조한다.
rules rule 개체들의 컬렉션 배열변수을 참조한다.
runtimeStyle 스타일쉬트에서 지정한 내용을 참조한다.
Ss<S>엘레멘트 <S>을 참조한다.
samp<SAMP>엘레멘트 <SAMP>을 참조한다.
screen 컴퓨터 스크린 개체
script<SCRIPT>엘레멘트 <SCRIPT>을 참조한다.
scripts script 개체들의 컬렉션 배열변수을 참조한다.
select<SELECT>입력폼 선택사항 개체
selection 입력폼 선택사항 개체
seq(시간)<t:SEQ>순차적으로 진행하는 시간 용기 엘레멘트를 정의한다.
set(시간)<t:SET>선택으로 선택에 따른 내용을 디스플레이 할 수 있게한다.
small<SMALL>엘레멘트 <SMALL>을 참조한다.
span<SPAN>엘레멘트 <SPAN>을 참조한다.
strike<STRIKE>엘레멘트 <STRIKE>을 참조한다.
String 문자열 서식, 조작, 문자열 발취등o
strong<STRONG>엘레멘트 <STRONG>을 참조한다.
style<STYLE>엘레멘트의 인라인 스타일(<ELEMENT style=...>)을 참조한다.
styleSheet<STYLESHEET>styleSheets 컬렉션의 개별 <STYLESHEET> 개체를 참조
styleSheets styleSheet 개체들의 컬렉션 배열변수을 참조한다.
sub<SUB>엘레멘트 <SUBG>을 참조한다.
submit<INPUT type=submit>입력폼 송신단추 개체
switch(시간)<t:SWITCH>사용자가 선택으로 선택에 따른 내용을 디스플레이 할 수 있게한다.
sup<SUP>엘레멘트 <SUP>을 참조한다.
Ttable<TABLE>엘레멘트 <TABLE>을 참조한다.
tBodies tBody 개체들의 컬렉션 배열변수을 참조한다.
tBody<TBODY>엘레멘트 <TBODY>을 참조한다.
td<TD>엘레멘트 <TD>을 참조한다.
TDC 테이블적 데이터 제어(Tabular Data Control)를 제공한다.
<TEMPLATEPRINGER />인쇄를 설정하고 인쇄작업을 제어하는 인쇄 템플레이트를 제공
text<INPUT type=text>입력폼 문자열 입력 개체
textArea<TEXTAREA>입력폼 여러줄 문자열 입력 개체
TextNode 문서의 계통도에서 노드(node)로서의 택스트 문자열을 참조한다.
TextRange HTML 엘레멘트의 택스트를 참조한다.
TextRanges TextRange 개체들의 컬렉션 배열변수을 참조한다.
TextRectangle 한줄 텍스트나 TextRange 개체에 포함된 사각형을 참조
TextRectangles TextRectangle 개체들의 컬렉션 배열변수을 참조한다.
TextStream IE 파일에 순차적으로 쉽게 액세스
tFoot<TFOOT>엘레멘트 <TFOOT>을 참조한다.
th<TH>엘레멘트 <TH>을 참조한다.
tHead<THEAD>엘레멘트 <THEAD>을 참조한다.
timeAll 시간 엘레멘트 개체들의 컬렉션 배열변수을 참조한다.
timeChildren 개체의 직접 자식 시간 엘레멘트들의 컬렉션을 찹조한다.
title<TITLE>엘레멘트 <TITLE>을 참조한다.
tr<TR>엘레멘트 <TR>을 참조한다.
transitionFilter(시간)<t:TRANSITIONFILTER>엘레멘트들에 표현된 내용의 애니메이션 변환을 진행
tt<TT>엘레멘트 <TT>을 참조한다.
Uu<U>엘레멘트 <U>을 참조한다.
ul<UL>엘레멘트 <UL>을 참조한다.
Url 웹문서 주소 개체x
userProfile IE 사용자 프로파일 개체x
Vvar<VAR>엘레멘트 <VAR>을 참조한다.
VBArray IE Visual Basic 안전 배열에 액세스x
video(시간)<t:VIDEO>HTML 문서에서 애트리뷰트에 시간에 따른 비디오를 정의한다.
Wwbr<WBR>엘레멘트 <VAR>을 참조한다.
window 윈도우, 프레임 개체
Xxml<XML>엘레멘트 <XML>을 참조한다.
xmp<XMP>엘레멘트 <XMP>을 참조한다.
YZ사용자 정의 개체 사용자정의 개체


자료출처 : http://koxo.com/lang/js/


2006/09/08 16:04 2006/09/08 16:04
이 글에는 트랙백을 보낼 수 없습니다
출처 블로그 > 플젝트 하면서 이것 저것
원본 http://blog.naver.com/btchae/80005155493

/*
Text
jsChangeComma( str ) ' -> ` 로 대치
jsStrCheck(checkStr, checkOK)
  들어가서는 안되는 데이타(checkOK)가 checkStr에 포함되어있는지 체크
jsMoveFocus( varTextObj, varLength, varFocusToObj )
  TextBox에서 조건이 만족하면 특정객체로 포커스를 이동
jsCheckNull( toCheck ) toCheck의 값이 Null값인지를 체크
jsDeleteComma( varNumber ) 컴마를 삭제하고 리턴
jsDeleteChar( varText, varDelete ) 문자열에서 해당 character를 지우고 리턴

CheckBox
jsCheckBoxSelectedCnt( FormObj, checkBoxName )
  FormObj에서 checkBox 가 몇개 선택되었는지  리턴한다.
jsToggle(FormObj, elemNm, checkYn)
  특정 폼안의 체크박스오브젝트를 전체선택하거나 전체반전시킴
 
SelectBox
jsCheckSelectBox ( sb ) SelectBox에서 선택된 값의 value를 리턴
jsCheckSelectBoxNm ( sb ) SelectBox에서 선택된 값의 Text를 리턴
cmInitSelectBox( varObjFullNm, varDeleteCnt )
  해당 SelectBox를 초기화 시킨다. varDeleteCnt가 1이면 첫번째값을 지우지 않는다.
cmMakeSelectBox( varObjFullNm, varText, varValue ) 해당 selectBox에 하나의 값을 추가시킴
  
날짜 
jsCheckYYYY(toCheck) 년도를 체크
jsCheckYYYYMM(toCheck) 년월을 체크
jsCheckMM(toCheck) 월을 체크
jsCheckDD(yyyy,mm,toCheck) 일을 체크
jsCheckDate( dateVal ) 날짜를 체크
jsAddYear( startDt, plusYear ) 날짜에 년수를 더함
jsAddMonths( startDt, plusMonth ) 날짜에 월수를 더함
jsGetBetweenDay( startDt, endDt ) 날짜와 날짜사이의 일수를 리턴
jsCheckTime( toCheck ) 시간포맷인지를 체크
jsMakeYyyyMm( varTextObj )
  해당 텍스트박스 객체필드에 YYYY/MM형식으로 [/]를 찍어서 채워준다.
jsMakeYyyyMmString( varText ) 넘어온 값에 날짜형식으로 [/]를 찍어서 리턴.
jsMakeDate( varTextObj ) 넘어온 Object의 값을 날짜형식으로 채워줌
jsMakeDateString( varText )넘어온 값을 날짜형식으로 리턴
toTimeString( varDateObj ) DateObj를 넘겨주면 년월일을 리턴  20030201
jsAfterThisDate( varStdDate , varYYYY , varMM , varDD )
  날짜형식의 문자열에 특정 년, 월, 일을 더한값을 리턴


날짜 체크 사용 예 호출하는 페이지에 다음 부분을 추가

<input ... onKeyUp='jsChkDate(this,lottSearchForm.txtEdate)' onBlur='compareDate()'>


function compareDate(){  

if( jsCheckNull(document.forms[0].txtSdate.value) ||

    jsCheckNull(document.forms[0].txtEdate.value) )
    return;
 
var from = document.forms[0].txtSdate.value.replace(/(\,|\.|\-|\/|\:)/g,'');
var to   = document.forms[0].txtEdate.value.replace(/(\,|\.|\-|\/|\:)/g,'');

if( jsGetBetweenDay(from,to) < 0 ) {
 alert("기간이 잘못 입력되었습니다. 다시입력하세요");
 document.forms[0].txtSdate.value = "";
 document.forms[0].txtEdate.value = "";
 document.forms[0].txtSdate.focus();
 return ;
}

}

function jsChkDate( valObj, nextPos ){

if( valObj.value.length == 8 ) {
 if( !jsCheckDate( valObj.value ) ) {
  alert("일자 입력오류입니다. 다시 입력해 주십시요.");
  valObj.value = '';
  valObj.focus();
  return;
 }  
 jsMakeDate( valObj );
 nextPos.focus();

}

           

 
주민등록번호
jsCheckJumin(toCheck) 주민등록번호 체크

사업자등록번호
jsCheckSaupJa(toCheck) 사업자등록번호 체크

문자열길이 체크
getByteLength(s) 한글2바이트, 영문 1바이트로 바이트수를 리턴

쿠키
setCookie( name, value, expireFlag ) Set Cookie
getCookie( name ) get Cookie

숫자
jsParseInt( varStr ) 문자를 숫자로 변환 null일때
jsConvertNumberToHangul( varNum ) 숫자를 한글로 변환
jsMakeCurrency( varTextObj ) 넘어온 숫자에 컴마를 찍어서 리턴 소숫점 허용안함
jsMakeForeignCurrency( varTextObj ) 넘어온 숫자에 컴마를 찍어서 리턴 소숫점 허용함
jsOnlyNumber( varTextObj ) 해당 텍스트박스 객체에 숫자만 입력받을수 있도록
jsOnlyFloat( varTextObj ) 해당 텍스트박스 객체에 숫자와 1개의 point만을 입력받게 해준다.
jsAddComma( varNumber )
  숫자를 받아서 comma를 찍어서 리턴한다 소수점 인식 숫자가 아닌값 -1을 리턴 음수표현가능
jsAddCommaAndZero( varNumber )
  숫자를 받아서 comma를 찍어서 리턴한다 소수점 인식 숫자가 아닌값 -1을 리턴 음수표현 불가능
jsCheckFloat(toCheck) Folat형인지를 체크 정수도 Float으로 인식
jsCheckPoint( toCheck , Positive , Negative ) 자리수 체크 정수 몇자리 소수 몇자리
jsCheckNumber(toCheck) Number타입인지 체크, 소수점은 Number타입으로 인식하지 않음 
getCutNumber(num, place) 소수점 아래 몇자리 이하 절삭
jsOnlyNumberKey() text 입력시 숫자이외의 키를 눌렀을때 무효화시킨다.
jsCheckFloatType( varNum, varLeft, varRight ) 정수부분자리수 소수부분자리수 체크 
 
기타
jsSplitCode(varString, varSplitChar, varIndex) 구분자로 구분해서 index의 문자를 리턴
jsCheckIp(toCheck) toCheck값이 정확한 IP Address인지 체크
jsCheckEmail( emailVal ) 이메일을 체크 - 보완요망
jsShowHelp( helpfile ) helpfile를 팝업으로 오픈
jsGetObjCnt( FormObj, varObjName ) 특정폼에서 해당오브젝트가 몇개인지를 리턴
jsClearFrame( fr ) 특정프레임에 공백 jsp를 띄워줌
jsDeleteCharAll( FormObj )
  해당 폼에 해당하는 모든 오브젝트의 값들에서 ',' and '/'문자를 지워준다.   
isAlphaNum(input) 영문과 숫자로만 이루어졌는지를 체크

IsHangul(field) 입력값에 한글이 있는지 체크
containsCharsOnly(input,chars) 입력값이 특정 문자(chars)만으로 되어있는지 체크
popup1( varAction, varWinName, varWidth, varHeight ) 팝업을 호출
jsBack() 이전 페이지로 이동
jsVisible( str ) 특정조건에 해당하면 모래시계를 보여줌
jsRunAfterTime() 설정한 시간뒤에 특정 function을 호출
trim(text) ltrim(text) rtrim(text) text의 좌우측, 좌측, 우측의 공백을 제거해서 리턴
*/


/*--------------------------------------------------
  기능   : Cookie Setting
  INPUT  : name, value
          expireFg : 'Y' : 2020년 까지 쿠키저장
          expireFg : 'N' : session이 끊어질때 쿠키지움
  RETURN : NONE
----------------------------------------------------*/
function setCookie( name, value, expireFg ) {
   var expireDate = new Date ( 2020, 1, 1, 1, 1, 1 ) ;

   if ( expireFg = 'Y' )
       document.cookie = name + "=" + value + "; expires=" + expireDate.toGMTString() ;
   else
       document.cookie = name + "=" + value + ";" ;

}
/*--------------------------------------------------
  기능   : Cookie Get
  INPUT  : name
  RETURN : 쿠키값( 없으면 "" )
----------------------------------------------------*/
function getCookie( name ) {
   var cookieFound = false ;
   var start = 0 ;
   var end   = 0 ;
   var cookieString = document.cookie ;

   var i = 0 ;

   // name에 해당되는 cookie를 찾는다.
   while ( i <= cookieString.length ) {
       start = i ;
       end = start + name.length ;
       if ( cookieString.substring( start, end ) == name ) {
           cookieFound = true ;
           break ;
       }
       i++ ;
   }

   // cookie를 찾았으면 해당하는 값을 그렇지 않으면 ""을 return ;
   if ( cookieFound ) {
       start = end + 1 ;
       end   = document.cookie.indexOf(";",start) ;
       if ( end < start )
           end = document.cookie.length ;
       return document.cookie.substring( start, end ) ;
   }

   return "" ;
}

/*-----------------------------------------------
' ->문자를 쿼리문에 사용시 에러가 발생하므로 `로 대치
INPUT  : str
RETURN : 문자열안의 문자중 ' 문자를 ` 로 변경한 문자열
-------------------------------------------------*/
function jsChangeComma( str ){
while( str.indexOf("'") != -1 ){
 str = str.replace("'","`");
}
   return str;
}

/*----------------------------------------------------------
  기능   : Split Code RETURN Splited code by varSplitChar
  INPUT  : varString 문자
     : varSplitChar 구분자
  : varIndex 구분자의 위치
  RETURN : Splited code by varSplitChar
  예     : jsSplitCode( "111^222^333", "^", 2 ) == "222"
-----------------------------------------------------------*/
function jsSplitCode(varString, varSplitChar, varIndex) {
var varArray = varString.split(varSplitChar) ;

return varArray[eval(varIndex)-1];
}

/*--------------------------------------------------
  기능   : Check Null RETURN T/F
  INPUT  : check  data
  RETURN : true  -> NULL
          false -> NOT NULL
----------------------------------------------------*/
function jsCheckNull( toCheck )
{
    var chkstr = toCheck + "";
    var is_Space = true ;

    if ( ( chkstr == "") || ( chkstr == null ) )
   return( true );

    for ( j = 0 ; is_Space && ( j < chkstr.length ) ; j++)
    {
     if( chkstr.substring( j , j+1 ) != " " )
        {
       is_Space = false ;
        }
    }
    return ( is_Space );
}

/*--------------------------------------------------
  기능   : Check IP address RETURN T/F
  INPUT  : toCheck  -> check data
  RETURN : true  -> IP address
          false -> not IP address
----------------------------------------------------*/
function jsCheckIp(toCheck)
{
    var chkstr = toCheck+"" ;
    var isIp = true ;

    if ( jsCheckNull(toCheck) )
         return false;

    for (j = 0 ; isIp && (j < toCheck.length) ; j++)
    {
         if ((toCheck.substring(j,j+1) < "0") || (toCheck.substring(j,j+1) > "9"))
         {
             if ( toCheck.substring(j,j+1) == "." )
                 if ( j == 0 )
                     isIp = false ;
             else
                 isIp = false ;
         }
    }

    return isIp;
}

/*--------------------------------------------------
  기능   : Check Number RETURN T/F ( 소수점"."은 Number로 취급안함 )
  INPUT  : toCheck  -> check data
  RETURN : true  -> number ( "."이 포함안됨 )
          false -> not number
----------------------------------------------------*/
function jsCheckNumber(toCheck)
{
    var chkstr = toCheck+"" ;
    var isNum = true ;

    if ( jsCheckNull(toCheck) )
         return false;

    for (j = 0 ; isNum && (j < toCheck.length) ; j++)
    {
         if ((toCheck.substring(j,j+1) < "0") || (toCheck.substring(j,j+1) > "9"))
         {
            if ( toCheck.substring(j,j+1) == "-" || toCheck.substring(j,j+1) == "+")
            {
               if ( j != 0 )
               {
                  isNum = false;
               }
            }
            else
      isNum = false;
    }
    }

    if (chkstr == "+" || chkstr == "-") isNum = false;

    return isNum;
}

/*--------------------------------------------------
  기능   : Check data RETURN T/F
  INPUT  : toCheck  -> check data
          checkOK  -> 들어가서는 안되는 data
  RETURN : false -> 들어가서는 안되는 data가 없다
          true  -> 들어가서는 안되는 data가 있다.
  예1    : jsStrCheck( '12345', 'ABab' )
          string '12345'에는 'ABab'가 없으므로
          false를 리턴
  예2    : jsStrCheck( '12$45', 'ABab$#%' )
          string '12$45'에는 '$'가 있으므로
          true를 리턴
----------------------------------------------------*/
function jsStrCheck(checkStr, checkOK) {
   for (i = 0; i < checkStr.length; i++) {
       ch = checkStr.charAt(i);
       for (j = 0; j < checkOK.length; j++)
       if (ch == checkOK.charAt(j))
          break;
       if (j == checkOK.length) {
               return false;
               break;
       }
   }
   return true;
}

/*--------------------------------------------------
  기능   : Check Float RETURN T/F (정수도 Float로 취급)
  INPUT  : toCheck  -> check data
  RETURN : true  -> number
          false -> not number
----------------------------------------------------*/
function jsCheckFloat(toCheck)
{
    var chkstr = toCheck+"" ;
    var isFloat = true;

    var chkPoint = false;
    var chkMinus = false;

    if ( jsCheckNull(toCheck) )
    {
          return false;
    }

    for (j = 0 ; isFloat && (j < toCheck.length); j++)
    {
        if ( (toCheck.substring(j,j+1) < "0") || (toCheck.substring(j,j+1) > "9"))
        {

           if ( toCheck.substring(j,j+1) == "." )
           {
              if ( !chkPoint ) chkPoint = true ;
              else  isFloat = false ;
           }
           else if ( toCheck.substring(j,j+1) == "-" || toCheck.substring(j,j+1) == "+")
           {
              if ( ( j == 0 ) && ( !chkMinus ) ) chkMinus = true ;
              else isFloat = false;
           }
           else isFloat = false;
       }
   }

   return isFloat;
}

/*--------------------------------------------------
  기능   : 자릿수 check RETURN T/F
  INPUT  : toCheck  -> check data
  RETURN : true  -> number
          false -> not number
----------------------------------------------------*/
function jsCheckPoint( toCheck , Positive , Negative )
{
    var strPos = toCheck + "" ;
    var isPoint = true ;

    if ( jsCheckFloat ( toCheck ) )
    {

        var inx = strPos.indexOf(".") ;

        if ( inx == -1 )
        {
             if ( strPos.length > parseInt(Positive) )
                isPoint = false ;
             else
                isPoint = true ;
         }
         else
         {
              var pos = strPos.substring( 0, inx ) ;
              var nev = strPos.substring(inx + 1) ;

              if ( pos.length > parseInt(Positive) )
                    isPoint = false ;
              else if ( nev.length > parseInt(Negative) )
                    isPoint = false ;
              else
                    isPoint = true ;
         }
     }
     else if ( jsCheckNumber (toCheck) )
           isPoint = true  ;
     else
           isPoint = false ;

     return isPoint ;

}

////////////////////////////////////////////////////////////////n
////////////    DATE  VALIDATION  CHECK    //////////////////////
/////////////////////////////////////////////////////////////////

/*--------------------------------------------------
  기능   : calender에서 사용할 월별 배열를 만든다.
  INPUT  : 각 인자의 값
----------------------------------------------------*/
function jsMonthArray(m0,m1,m2,m3,m4,m5,m6,m7,m8,m9,m10,m11)
{
     this[0] = m0;
     this[1] = m1;
     this[2] = m2;
     this[3] = m3;
     this[4] = m4;
     this[5] = m5;
     this[6] = m6;
     this[7] = m7;
     this[8] = m8;
     this[9] = m9;
     this[10] = m10;
     this[11] = m11;
}


/*--------------------------------------------------
  기능   : 년도를 check한다.
  INPUT  : toCheck
  RETURN : NONE
    MSG :
----------------------------------------------------*/

function jsCheckYYYY(toCheck)
{
  return ( ( toCheck.length == 4) && ( jsCheckNumber(toCheck)  ) && ( toCheck != "0000") );
}

/*--------------------------------------------------
  기능   : 년월을 check한다.
  INPUT  : toCheck
  RETURN : NONE
    MSG :
----------------------------------------------------*/

function jsCheckYYYYMM(toCheck)
{
    var isDate  = true ;

    if ( toCheck.length != 6 )
    {
         isDate = false ;
    }
    else
    {

          var yy = toCheck.substring(0,4) +"" ;
          var mm = toCheck.substring(4,6) +"" ;

          if ( !jsCheckYYYY(yy) )
             isDate = false ;
          else if ( !jsCheckMM(mm) )
             isDate = false ;
    }

    return isDate ;
}

/*--------------------------------------------------
  기능   : 월을 check한다.
  INPUT  : toCheck
  RETURN :
   MSG  :
----------------------------------------------------*/
function jsCheckMM(toCheck)
{
     return ((toCheck.length > 0) && (jsCheckNumber(toCheck)) && (0< eval(toCheck)) && (eval(toCheck) < 13));
}

/*--------------------------------------------------
  기능   : 일을 check한다.
  INPUT  : toCheck
  RETURN : NONE
    MSG :
----------------------------------------------------*/
function jsCheckDD(yyyy,mm,toCheck)
{
     var isYMD  = false;
     var monthDD= new jsMonthArray(31,28,31,30,31,30,31,31,30,31,30,31);
     var im     = eval(mm) - 1;
     if ( toCheck.length == 0 )  return false;
     if ( !jsCheckNumber(toCheck)  )  return false;
     var dd     = eval(toCheck);
     if ( ( (yyyy%4 == 0) && (yyyy%100 != 0) ) || (yyyy%400 == 0) )
     {
          monthDD[1] = 29;
     }
     if ( (0 < dd) && (dd <= monthDD[im]) ) isYMD = true;
          return isYMD;
}

/*--------------------------------------------------
  기능   : 날짜를 check한다.
  INPUT  : dateVal '20030321'
  RETURN : NONE
    MSG :
----------------------------------------------------*/
function jsCheckDate( dateVal )
{

    var isDate  = true ;

    if ( dateVal.length != 8 )
    {
         isDate = false ;
    }
    else
    {

          var yy = dateVal.substring(0,4) +"" ;
          var mm = dateVal.substring(4,6) +"" ;
          var dd = dateVal.substring(6,8) +"" ;

          if ( !jsCheckYYYY(yy) )
             isDate = false ;
          else if ( !jsCheckMM(mm) )
             isDate = false ;
          else if ( !jsCheckDD (yy,mm,dd) )
             isDate = false ;
    }

    return isDate ;

}

/*--------------------------------------------------
  기능   : 날짜에 년수를 더한다.
  INPUT  : startDt(YYYYMMDD), year
  RETURN : rtnValue : 날짜에 년수를 더한 날짜
          -1       : ERROR..!
          예) 20000110 + 1년 = 20010110
          예) 20000229 + 1년 = 20010228
    MSG :
----------------------------------------------------*/
function jsAddYear( startDt, plusYear ) {
var rtnValue = -1 ;

// input date의 날짜 체크
if ( !jsCheckDate(startDt) || !jsCheckNumber(plusYear) ) {
 rtnValue = -1 ;
 return rtnValue ;
}

var yyyy = startDt.substring(0,4) +"" ;
var mm   = startDt.substring(4,6) +"" ;
var dd   = startDt.substring(6,8) +"" ;

var newYyyy = (eval(yyyy) + eval(plusYear)) ;

// 윤달(29일) 인 경우 28일로 고침
// 예) 20000229 에 1년을 더하면 20000228
var isYoonYear = false ;
// 4 로 나누어 떨어지면 윤년
// 100 으로 나누어 떨어지면 윤년 아님
// 400 으로 나누어 떨어지면 윤년
if ( (eval(newYyyy)%4) == 0 ) isYoonYear = true ;
if ( (eval(newYyyy)%100) == 0 ) isYoonYear = false ;
if ( (eval(newYyyy)%400) == 0 ) isYoonYear = true ;

if ( (mm == '02') && (dd == '29') && !isYoonYear ) dd = '28' ;

rtnValue = newYyyy + mm + dd ;

return rtnValue ;
}

/*--------------------------------------------------
  기능   : 날짜에 월수를 더한다.
  INPUT  : startDt(YYYYMMDD), year
  RETURN : rtnValue : 날짜에 월수를 더한 날짜
          -1       : ERROR..!
          예) 20000110 + 3월  = 20000410
          예) 20000229 + 12월 = 20000228
    MSG :
----------------------------------------------------*/
function jsAddMonths( startDt, plusMonth ) {
var rtnValue = -1 ;

// input date의 날짜 체크
if ( !jsCheckDate(startDt) || !jsCheckNumber(plusMonth) ) {
 rtnValue = -1 ;
 return rtnValue ;
}

var yyyy = startDt.substring(0,4) +"" ;
var mm   = startDt.substring(4,6) +"" ;
var dd   = startDt.substring(6,8) +"" ;

var newMm = null;

// 월수를 더하여 1년이 넘는 경우
if ( (eval(mm) + eval(plusMonth)) > 12 ) {
 yyyy  = eval(yyyy) + 1 ;
 newMm = eval(mm) + eval(plusMonth) - 12 ;
} else {
 newMm = eval(mm) + eval(plusMonth) ;
}

// 윤년 처리
var isYoonYear = false ;
// 4 로 나누어 떨어지면 윤년
// 100 으로 나누어 떨어지면 윤년 아님
// 400 으로 나누어 떨어지면 윤년
if ( (eval(yyyy)%4) == 0 ) isYoonYear = true ;
if ( (eval(yyyy)%100) == 0 ) isYoonYear = false ;
if ( (eval(yyyy)%400) == 0 ) isYoonYear = true ;

// 윤년인 경우
if ( isYoonYear ) {
 if ( (newMm == '02') && ( dd=='30' || dd=='31' ) ) dd = '29' ;
// 평년인 경우
} else {
 if ( (newMm == '02') && ( dd=='29' || dd=='30' || dd=='31' ) ) dd = '28' ;
}

// 월의 자리수를 맞춘다. ( 2 월 -> 02 )
if ( eval(newMm) < 10 ) { newMm = "0" + newMm  } ;
rtnValue = yyyy + newMm + dd ;

return rtnValue ;
}

/*--------------------------------------------------
  기능   : 날짜와 날짜 사이의 일수를 리턴한다.
  INPUT  : startDt(YYYYMMDD), endDt(YYYYMMDD)
  RETURN : rtnValue : 날짜와 날짜 사이의 일수
          -1       : ERROR..!
    MSG :

----------------------------------------------------*/
function jsGetBetweenDay( startDt, endDt )
{
    var rtnValue = 0 ;

    // input date의 날짜 체크
    if ( !jsCheckDate(startDt) || !jsCheckDate(endDt) ) {
     rtnValue = -1 ;
    }
    else {
          var yyyy = startDt.substring(0,4) +"" ;
          var mm   = startDt.substring(4,6) +"" ;
          var dd   = startDt.substring(6,8) +"" ;
          var startDate = new Date(yyyy,(eval(mm)-1),dd) ; // 달 은 한달이 느리므로 1을 빼준다.

          yyyy = endDt.substring(0,4) +"" ;
          mm   = endDt.substring(4,6) +"" ;
          dd   = endDt.substring(6,8) +"" ;
          var endDate = new Date(yyyy,(eval(mm)-1),dd) ;

          // 1000분의 1초 단위를 일 단위로 바꾸기
          rtnValue = ((endDate-startDate)/60/60/24/1000) ;
    }

    return rtnValue ;

}
/*--------------------------------------------------
  기능   : Check Time RETURN T/F
  INPUT  : check  time
  RETURN : true  -> TIME
          false -> NOT TIME
----------------------------------------------------*/
function jsCheckTime( toCheck )
{
    var chkstr  = toCheck + "";

    if ( ( chkstr == "") || ( chkstr == null ) )
   return( false );

    var mm = chkstr.substring( 0 ,2 );
    var ss = chkstr.substring( 3 ,5 );

    if (( mm <= "23" ) && ( mm >= "00" ))
    {
        if (( ss <= "60" ) && ( ss >= "00" ))
        {
            if ( chkstr.substring( 2 ,3 ) == ":")
            {
             return( true );
            }
        }
    }
    return( false );
}

/*--------------------------------------------------
  기능   : Check 주민등록번호 RETURN T/F
  INPUT  : toCheck
  RETURN : true  -> 올바른 번호
          false ->
----------------------------------------------------*/
function jsCheckJumin(toCheck) {
   var isJumin = true;
   if ( jsCheckNull(toCheck) ) {
         return false;
   } else if ( toCheck.length < 13 || toCheck.length > 13 ) {
         return false;
   } else if ( toCheck.substring(2,3) > "1" || toCheck.substring(6,7) > "2" || toCheck.substring(6,7) == "0" ) {
         return false;
   } else if ( toCheck.substring(2,3) == "1" && toCheck.substring(3,4) > "2" ){
         return false;
   } else if (!(toCheck.substring(4,6) >= "01" && toCheck.substring(4,6) <= "31")){
         return false;
   }
  for (j = 0; isJumin && (j < toCheck.length); j++) {
      if ( ( (toCheck.substring(j,j+1) < "0") || (toCheck.substring(j,j+1) > "9")) ) {
          isJumin = false;
      }
  }


 var a1=toCheck.substring(0,1)
 var a2=toCheck.substring(1,2)
 var a3=toCheck.substring(2,3)
 var a4=toCheck.substring(3,4)
 var a5=toCheck.substring(4,5)
 var a6=toCheck.substring(5,6)
 var check_digit=a1*2+a2*3+a3*4+a4*5+a5*6+a6*7
 var b1=toCheck.substring(6,7)
 var b2=toCheck.substring(7,8)
 var b3=toCheck.substring(8,9)
 var b4=toCheck.substring(9,10)
 var b5=toCheck.substring(10,11)
 var b6=toCheck.substring(11,12)
 var b7=toCheck.substring(12,13)

 var check_digit=check_digit+b1*8+b2*9+b3*2+b4*3+b5*4+b6*5
 check_digit = check_digit%11
 check_digit = 11 - check_digit
 check_digit = check_digit%10
 if (check_digit != b7){
  isJumin = false;
 }

  return isJumin;
}

/*--------------------------------------------------
  기능   : Check 사업자 등록번호 RETURN T/F
  INPUT  : toCheck
  RETURN : true  -> 올바른 번호
          false ->
----------------------------------------------------*/
function jsCheckSaupJa(toCheck) {
   var isSaupJa = true;
   if ( jsCheckNull(toCheck) ) {
         return false;
   } else if ( toCheck.length < 10 || toCheck.length > 10 ) {
         return false;
   }
   for (j = 0; isSaupJa && (j < toCheck.length); j++) {
      if ( ( (toCheck.substring(j,j+1) < "0") || (toCheck.substring(j,j+1) > "9")) ) {
          isSaupJa = false;
      }
   }
   return isSaupJa;
}

/*--------------------------------------------------
  기능   : E-Mail를 check한다.
  INPUT  : emailVal
  RETURN : NONE
    MSG :
----------------------------------------------------*/
function jsCheckEmail( emailVal )
{
    if ( jsCheckNull(emailVal) ) return true;

    var inx = emailVal.indexOf("@") ;

    if ( inx <= 0 || inx==emailVal.length-1 ) return false;

    return true ;
}
/*--------------------------------------------------
  기능   :
  INPUT  : varNum : 실수
       varLeft : 정수부분 자리수
       varRight : 소수부분 자리수
  RETURN : true : 실수가 정/소수부분의 자리수를 초과하지 않는다.
       false : 실수가 정/소수부분의 자리수를 초과한다.
----------------------------------------------------*/
function jsCheckFloatType( varNum, varLeft, varRight ) {

var resultFlag = true ;

if ( varNum.charAt(0) == "-" ){
 varNum = varNum.substring(1,varNum.length);
}

var PointIndex = varNum.indexOf(".");

if ( PointIndex < 0 ){
 if ( varNum.length > varLeft )
  resultFlag = false ;
}else{
 var LeftLength = varNum.substring(0,PointIndex).length;
 var RightLength = varNum.substring(PointIndex+1, varNum.length ).length;

 if ( (LeftLength > varLeft) || (RightLength > varRight) )
  resultFlag = false ;
}

return resultFlag ;

}

/*--------------------------------------------------
  기능   :
  INPUT  : helpfile
  RETURN :
----------------------------------------------------*/
function jsShowHelp( helpfile )
{
     var helpstr = helpfile + "" ;
     var URL     = "" ;
     var cWin ;

     URL = "/help/"+helpfile+".html" ;

     cWin = window.open(URL,"help","toolbar=0,location=0,directories=0,status=0,menubar=1,scrollbars=1,resizable=1,width=560,height=320");

     cWin.focus();
}

/*--------------------------------------------------
  기능   : 한글이든 영문이든 제대로 갯수 체크를 해준다.
  INPUT  : String
  RETURN :
----------------------------------------------------*/
function getByteLength(s){
  var len = 0;
  if ( s == null ) return 0;
  for(var i=0;i<s.length;i++){
     var c = escape(s.charAt(i));
     if ( c.length == 1 ) len ++;
     else if ( c.indexOf("%u") != -1 ) len += 2;
     else if ( c.indexOf("%") != -1 ) len += c.length/3;
  }
  return len;
}

/*--------------------------------------------------
  기능   : FormObj에서 varObjName이 몇개 존재하는지 리턴한다.
  INPUT  : FormObj : FormName
     : varObjName : 객체명
  RETURN :
----------------------------------------------------*/
function jsGetObjCnt( FormObj, varObjName ){
var cnt = 0 ;
  for(var inx = 0; inx < FormObj.elements.length ; inx++ ) {
     if ( FormObj.elements[inx].name == varObjName ) {
      cnt++ ;
     }
  }
  return cnt;
}

/*--------------------------------------------------
  기능   :  SELECT OPTION BOX의 값을 RETURN 한다.
  INPUT  : sb = selectBoxName
  RETURN :
----------------------------------------------------*/
function jsCheckSelectBox ( sb )
{
   var temp = sb.options[sb.selectedIndex].value ;
   return ( temp );
}

function jsCheckSelectBoxNm ( sb )
{
   var temp = sb.options[sb.selectedIndex].text ;
   return ( temp );
}

/*--------------------------------------------------
  기능   :  해당 Frame을 공백페이지로 변경
  INPUT  : fr : FrameName
  RETURN :
----------------------------------------------------*/
function jsClearFrame( fr ) {
   fr.location = "/common/blank.jsp";
}

/*--------------------------------------------------
  기능   : checkBox를 전체선택 및 해제를 할수 있게 한다.
  INPUT  : FormObj FormName
       elemNm CheckBox name
       checkYn boolean
  RETURN :
----------------------------------------------------*/
function jsToggle(FormObj, elemNm, checkYn){
var i =0;
while (i < FormObj.elements.length)
{
 if (FormObj.elements[i].name== elemNm )
 {
  FormObj.elements[i].checked= checkYn;
 }
 i++;
}
}

/*--------------------------------------------------
  기능   : focus 옮기기
  INPUT  : varTextObj : TextBox 객체명
       varLength  : 조건에 맞는 textLength
       varFocusToObj : Focus를 옮겨갈 객체명
  RETURN :
----------------------------------------------------*/
function jsMoveFocus( varTextObj, varLength, varFocusToObj ) {
if ( varTextObj.value.length == varLength ) {
 varFocusToObj.focus() ;
 varFocusToObj.select() ;
 return ;
}
}

/*--------------------------------------------------
  기능   : 문자를 숫자로 convert 한다. 단,
       parseFloat 와 다른 점은 null 이 올때 0 으로 인식한다.
  INPUT  :
  RETURN :
----------------------------------------------------*/
function jsParseInt( varStr ) {
if ( varStr == null || varStr == "" )
 return 0 ;
else
 return parseInt(varStr) ;
}

/*--------------------------------------------------
  기능   : 숫자를 한글로 변환한다.
  예) 450,000,000 -> 사억오천만
  INPUT  :
  RETURN :
----------------------------------------------------*/
function jsConvertNumberToHangul( varNum )
{
// 리턴할 문자열
var returnStr = "" ;

// 음수일 때는 에러
if ( eval(varNum) < 0 ) {
 return returnStr ;
}

// 넘어온 숫자를 문자로 변환
var numLen = varNum.length ;
// 변환된 문자를 앞에서 부터 한자씩 잘라서 보관할 변수
var oneChar = null ;
var isDone1 = true ;
var isDone2 = true ;
var isDone3 = true ;
var isDone4 = true ;
var isDone5 = false ;
for ( var inx = 0 ; inx < numLen ; inx++ ) {
 oneChar = varNum.substring( inx, inx+1 ) ;
 isDone5 = false ;

 if ( oneChar == "0" ) {
  // 아무일도 안함
 } else if ( oneChar == "1" ) {
  returnStr = returnStr + "일" ;
  isDone5 = true ;
 } else if ( oneChar == "2" ) {
  returnStr = returnStr + "이" ;
  isDone5 = true ;
 } else if ( oneChar == "3" ) {
  returnStr = returnStr + "삼" ;
  isDone5 = true ;
 } else if ( oneChar == "4" ) {
  returnStr = returnStr + "사" ;
  isDone5 = true ;
 } else if ( oneChar == "5" ) {
  returnStr = returnStr + "오" ;
  isDone5 = true ;
 } else if ( oneChar == "6" ) {
  returnStr = returnStr + "육" ;
  isDone5 = true ;
 } else if ( oneChar == "7" ) {
  returnStr = returnStr + "칠" ;
  isDone5 = true ;
 } else if ( oneChar == "8" ) {
  returnStr = returnStr + "팔" ;
  isDone5 = true ;
 } else if ( oneChar == "9" ) {
  returnStr = returnStr + "구" ;
  isDone5 = true ;
 }

 if ( ((numLen-inx) % 4) == 0 && oneChar != "0" ) {
  returnStr = returnStr + "천" ;
 } else if ( ((numLen-inx) % 4) == 3 && oneChar != "0" ) {
  returnStr = returnStr + "백" ;
 } else if ( ((numLen-inx) % 4) == 2 && oneChar != "0" ) {
  returnStr = returnStr + "십" ;
 } else if ( ((numLen-inx) % 4) == 1 ) {
  if ( numLen >= 17 && isDone1 && isDone5 ) {
   returnStr = returnStr + "경" ;
   isDone1 = false ;
  } else if ( numLen >= 13  && isDone2 && isDone5 ) {
   returnStr = returnStr + "조" ;
   isDone2 = false ;
  } else if ( numLen >= 9  && isDone3 && isDone5 ) {
   returnStr = returnStr + "억" ;
   isDone3 = false ;
  } else if ( numLen >= 5  && isDone4 && isDone5 ) {
   returnStr = returnStr + "만" ;
   isDone4 = false ;
  }
 }
}

return returnStr ;
}

/*--------------------------------------------------
  기능   : 파라메터로 넘어온 필드에 comma를 찍어서 comma 를 찍어서 채워준다.
      소수점 허용 안함
   예) 1000.00 -> 1,000   
  INPUT  :
  RETURN :
----------------------------------------------------*/
function jsMakeCurrency( varTextObj ) {
varTextObj.value = jsDeleteComma( varTextObj.value ) ;

var varLength = varTextObj.value.length ;
var varText   = "" ;
var isPointed = false ;
for ( var inx = 0 ; inx < varLength ; inx++ ) {
 if ( jsCheckNumber(varTextObj.value.substring(inx, inx+1)) ) {
  varText = varText + varTextObj.value.substring(inx, inx+1) ;
 }
}

varTextObj.value = jsAddComma( varText ) ;
}


/*--------------------------------------------------
  기능   : 파라메터로 넘어온 필드에 comma를 찍어서 comma 를 찍어서 채워준다.
      소수점 허용 함   
   예) 1000.00 -> 1,000.00   
  INPUT  :
  RETURN :
----------------------------------------------------*/
function jsMakeForeignCurrency( varTextObj ) {
varTextObj.value = jsDeleteComma( varTextObj.value ) ;

var varLength = varTextObj.value.length ;
var varText   = "" ;
var isPointed = false ;
for ( var inx = 0 ; inx < varLength ; inx++ ) {
 if ( jsCheckNumber(varTextObj.value.substring(inx, inx+1)) || (varTextObj.value.substring(inx, inx+1)=='.') ) {
  // 점이 안찍히고 처음으로 점이 들어왔을때
  if ( !isPointed && varTextObj.value.substring(inx, inx+1)=='.' ) {
   isPointed = true ;
   varText = varText + varTextObj.value.substring(inx, inx+1) ;
  // 숫자 일때
  } else if ( jsCheckNumber(varTextObj.value.substring(inx, inx+1)) ) {
   varText = varText + varTextObj.value.substring(inx, inx+1) ;
  }

 }
}

varTextObj.value = jsAddComma( varText ) ;
}

/*--------------------------------------------------
  기능   : 파라메터로 넘어온 객체필드에 숫자만을 입력받게 해준다.
  INPUT  :
  RETURN :
----------------------------------------------------*/
function jsOnlyNumber( varTextObj ) {

var varLength = varTextObj.value.length ;
var varText   = "" ;
for ( var inx = 0 ; inx < varLength ; inx++ ) {
 if ( jsCheckNumber(varTextObj.value.substring(inx, inx+1)) ) {
  varText = varText + varTextObj.value.substring(inx, inx+1) ;
 }
}

// 앞에 붙은 0 없애기 (예) 00200 -> 200
varLength = varText.length ;
var varTempReturnNumber = varText;
var varReturnNumber = "" ;
for ( var inx = 0 ; inx < varLength ; inx++ ) {
 if ( varTempReturnNumber.substring(inx, inx+1) == '0' ) {
  // '0' 이 넘어왔을 경우 '0'을 그대로 리턴해야 한다.
  if ( varLength == 1 ) varReturnNumber = "0" ;
  else if ( eval(jsDeleteComma(varTempReturnNumber)) == '0' ) {
   varReturnNumber = "0" ;
   break ;
  }
 } else {
  varReturnNumber = varTempReturnNumber.substring(inx, varLength+1) ;
  break ;
 }
}

varTextObj.value = varReturnNumber;
}

/*--------------------------------------------------
  기능   : 파라메터로 넘어온 필드에 숫자와 1개의 point만을 입력받게 해준다.
  INPUT  :
  RETURN :
----------------------------------------------------*/
function jsOnlyFloat( varTextObj ) {

varTextObj.value = jsDeleteComma( varTextObj.value ) ;

var varLength = varTextObj.value.length ;
var varText   = "" ;
var isPointed = false ;
for ( var inx = 0 ; inx < varLength ; inx++ ) {
 if ( jsCheckNumber(varTextObj.value.substring(inx, inx+1)) || (varTextObj.value.substring(inx, inx+1)=='.') ) {
  // 점이 안찍히고 처음으로 점이 들어왔을때
  if ( !isPointed && varTextObj.value.substring(inx, inx+1)=='.' ) {
   isPointed = true ;
   varText = varText + varTextObj.value.substring(inx, inx+1) ;
  // 숫자 일때
  } else if ( jsCheckNumber(varTextObj.value.substring(inx, inx+1)) ) {
   varText = varText + varTextObj.value.substring(inx, inx+1) ;
  }

 }
}

// 앞에 붙은 0 없애기 (예) 00200 -> 200
varLength = varText.length ;

var varReturnNumber = "" ;
for ( var inx = 0 ; inx < varLength ; inx++ ) {
 if ( varText.substring(inx, inx+1) == '0' ) {
  // '0' 이 넘어왔을 경우 '0'을 그대로 리턴해야 한다.
  if ( varLength == 1 ) varReturnNumber = "0" ;
  else if ( eval(jsDeleteComma(varText)) == '0' ) {
   varReturnNumber = "0" ;
   break ;
  }
 } else {
  varReturnNumber = varText.substring(inx, varLength+1) ;
  break ;
 }
}

varTextObj.value = varReturnNumber ;

}

/*--------------------------------------------------
  기능   : 파라메터로 넘어온 필드에 YYYY/MM형식으로 [/]를 찍어서 채워준다.
  INPUT  :
  RETURN :
----------------------------------------------------*/
function jsMakeYyyyMm( varTextObj ) {
varTextObj.value = jsDeleteChar( varTextObj.value, '/' ) ;

var varLength = varTextObj.value.length ;
var varText   = "" ;
for ( var inx = 0 ; inx < varLength ; inx++ ) {
 if ( jsCheckNumber(varTextObj.value.substring(inx, inx+1)) ) {
  varText = varText + varTextObj.value.substring(inx, inx+1) ;
 }
}

if ( varText.length < 6 ) {
 varTextObj.value = varText ;
} else {
 varTextObj.value = varText.substring(0,4) + "/" + varText.substring(4,6) ;
}
}

/*--------------------------------------------------
  기능   : 파라메터로 넘어온 String에 날짜형식으로 [/]를 찍어서 리턴.
    예) 200103 -> 2001/03
  INPUT  :
  RETURN :
----------------------------------------------------*/
function jsMakeYyyyMmString( varText ) {
if ( varText.length != 6 || !jsCheckNumber( varText ) ) {
 return varText ;
}

var varReturnText   = "" ;

varReturnText = varText.substring(0,4) + "/" + varText.substring(4,6) ;

return varReturnText
}

/*--------------------------------------------------
  기능   : 파라메터로 넘어온 필드에 날짜형식으로 [/]를 찍어서 채워준다.     
    예) 20010301 -> 2001/03/01         
  INPUT  : Text Object
  RETURN :
----------------------------------------------------*/
function jsMakeDate( varTextObj ) {
varTextObj.value = jsDeleteChar( varTextObj.value, '/' ) ;

var varLength = varTextObj.value.length ;
var varText   = "" ;
for ( var inx = 0 ; inx < varLength ; inx++ ) {
 if ( jsCheckNumber(varTextObj.value.substring(inx, inx+1)) ) {
  varText = varText + varTextObj.value.substring(inx, inx+1) ;
 }
}

if ( varText.length < 8 ) {
 varTextObj.value = varText ;
} else {
 varTextObj.value = varText.substring(0,4) + "/" + varText.substring(4,6) + "/" + varText.substring(6,8) ;
}
}

/*--------------------------------------------------
  기능   : 파라메터로 넘어온 String에 날짜형식으로 [/]를 찍어서 채워준다.     
    예) 20010301 -> 2001/03/01         
  INPUT  :
  RETURN :
----------------------------------------------------*/
function jsMakeDateString( varText ) {
if ( varText.length != 8 || !jsCheckNumber( varText ) ) {
 return varText ;
}

var varReturnText   = "" ;

varReturnText = varText.substring(0,4) + "/" + varText.substring(4,6) + "/" + varText.substring(6,8) ;

return varReturnText
}

/*--------------------------------------------------
  기능   : 숫자를 받아서 comma를 찍어서 리턴한다. 음수도 표현가능
    예) 1000.00 -> 1,000.00
    예) 숫자가 아닌 값 -> -1 리턴     
  INPUT  :
  RETURN :
----------------------------------------------------*/
function jsAddComma( varNumber ){
// 숫자가 아니면 -1을 리턴한다.
if ( jsCheckNull(varNumber) ) return "" ;
if ( !jsCheckFloat(varNumber) ) {
 return -1 ;
}

// 소수 이상, 이하 부분을 따로 보관.
var PointIndex = varNumber.indexOf(".") ;
var varUnderPoint = "" ;
var isPointed = false ;
// 소수 이하가 없을때
if ( PointIndex < 0 ) {
 isPointed = false ;
 // 소수 이하 부분
 varUnderPoint = "" ;
 // 소수 이상 부분
 varOverPoint = varNumber ;
// 소수 이하가 있을때
} else {
 isPointed = true ;
 // 소수 이하 부분
 varUnderPoint = varNumber.substring(PointIndex+1, varNumber.length ) ;
 // 소수 이상 부분
 varOverPoint = varNumber.substring(0, PointIndex) ;
}

// 음수일때 앞의 "-" 따로 보관
var negativeFlag = false ;
if ( varOverPoint.substring(0,1) == "-" ) {
 negativeFlag = true ;
 varOverPoint = varOverPoint.substring(1,varOverPoint.length+1) ;
}

// 소수 이상 부분에 comma 넣기
var varLength = varOverPoint.length ;
var varCnt = 0 ;
var varTempReturnNumber = "" ;
for ( var inx = varLength-1 ; inx >= 0 ; inx-- ) {
 varCnt++ ;

 // 소수점 찍기
 if ( varCnt == 4 ) {
  varTempReturnNumber = varOverPoint.substring( inx, inx+1 ) + "," + varTempReturnNumber ;
  varCnt = 1 ;
 // 소수점 안찍기
 } else {
  varTempReturnNumber = varOverPoint.substring( inx, inx+1 ) + varTempReturnNumber ;
 }

}

// 앞에 붙은 0 없애기 (예) 00200 -> 200
varLength = varTempReturnNumber.length ;
var varReturnNumber = "" ;
for ( var inx = 0 ; inx < varLength ; inx++ ) {
 if ( varTempReturnNumber.substring(inx, inx+1) == '0' ) {
  // '0' 이 넘어왔을 경우 '0'을 그대로 리턴해야 한다.
  if ( varLength == 1 ) varReturnNumber = "0" ;
  else if ( eval(jsDeleteComma(varTempReturnNumber)) == '0' ) {
   varReturnNumber = "0" ;
   break ;
  }
 } else {
  varReturnNumber = varTempReturnNumber.substring(inx, varLength+1) ;
  break ;
 }
}

// 소수점 이하 붙이기
if ( isPointed ) {
 varReturnNumber = varReturnNumber + "." + varUnderPoint ;
}

// 음수 붙이기
if ( negativeFlag ) {
 varReturnNumber = "-" + varReturnNumber ;
}

return varReturnNumber ;

}

/*--------------------------------------------------
  기능   : 숫자를 받아서 comma를 찍어서 리턴한다.
    예) 1000 -> 1,000.00
    예) 숫자가 아닌 값 -> -1 리턴  
  INPUT  :
  RETURN :
----------------------------------------------------*/
function jsAddCommaAndZero( varNumber ){
// 숫자가 아니면 -1을 리턴한다.
if ( jsCheckNull(varNumber) ) return "" ;
if ( !jsCheckFloat(varNumber) ) {
 return -1 ;
}

// 소수 이상, 이하 부분을 따로 보관.
var PointIndex = varNumber.indexOf(".") ;
var varUnderPoint = "" ;
// 소수 이하가 없을때
if ( PointIndex < 0 ) {
 // 소수 이하 부분
 varUnderPoint = "" ;
 // 소수 이상 부분
 varOverPoint = varNumber ;
// 소수 이하가 있을때
} else {
 // 소수 이하 부분
 varUnderPoint = varNumber.substring(PointIndex+1, varNumber.length ) ;
 // 소수 이상 부분
 varOverPoint = varNumber.substring(0, PointIndex) ;
}

// 소수 이상 부분에 comma 넣기
var varLength = varOverPoint.length ;
var varCnt = 0 ;
var varTempReturnNumber = "" ;
for ( var inx = varLength-1 ; inx >= 0 ; inx-- ) {
 varCnt++ ;

 // 소수점 찍기
 if ( varCnt == 4 ) {
  varTempReturnNumber = varOverPoint.substring( inx, inx+1 ) + "," + varTempReturnNumber ;
  varCnt = 1 ;
 // 소수점 안찍기
 } else {
  varTempReturnNumber = varOverPoint.substring( inx, inx+1 ) + varTempReturnNumber ;
 }

}

// 앞에 붙은 0 없애기 (예) 00200 -> 200
varLength = varTempReturnNumber.length ;
var varReturnNumber = "" ;
for ( var inx = 0 ; inx < varLength ; inx++ ) {
 if ( varTempReturnNumber.substring(inx, inx+1) == '0' ) {
 } else {
  varReturnNumber = varTempReturnNumber.substring(inx, varLength+1) ;
  break ;
 }
}

// 소수점 이하 붙이기
if ( varUnderPoint.length == 0 ){
 varReturnNumber = varReturnNumber + "." + "00" ;
}else if ( varUnderPoint.length == 1 ){
 varReturnNumber = varReturnNumber + "." + varUnderPoint + "0";
}else if ( varUnderPoint.length == 2 ){
 varReturnNumber = varReturnNumber + "." + varUnderPoint ;
}

return varReturnNumber ;

}

/*--------------------------------------------------
  기능   : 숫자를 받아서 comma를 없애고 리턴한다
    예) 1,000.00 -> 1000.00    
  INPUT  :
  RETURN :
----------------------------------------------------*/
function jsDeleteComma( varNumber ){
var varLength = varNumber.length ;

varReturnNumber = "" ;

for ( var inx = 0 ; inx < varLength ; inx++ ) {
 if ( varNumber.substring( inx, inx+1 ) != "," ) {
  varReturnNumber = varReturnNumber + varNumber.substring( inx, inx+1 ) ;
 }
}

return varReturnNumber ;
}

/*--------------------------------------------------
  기능   : 글자를 받아서 param를 없애고 리턴한다.
    예) 2001/01/01 -> 20010101    
  INPUT  : varText 문자열 varDelete 삭제하고자하는 Character
  RETURN :
----------------------------------------------------*/
function jsDeleteChar( varText, varDelete ){
var varLength = varText.length ;

varReturnText = "" ;

for ( var inx = 0 ; inx < varLength ; inx++ ) {
 if ( varText.substring( inx, inx+1 ) != varDelete ) {
  varReturnText = varReturnText + varText.substring( inx, inx+1 ) ;
 }
}

return varReturnText ;
}

/*--------------------------------------------------
  기능   : 폼 이름을 받아서 모든 text,hidden값에 comma, / 문자를 없애준다
  INPUT  :
  RETURN :
----------------------------------------------------*/
function jsDeleteCharAll( FormObj ) {
for ( i=0; i<FormObj.elements.length; i++ ) {
 if ( FormObj.elements[i].type == "text" || FormObj.elements[i].type == "hidden" ) {
  if ( !jsCheckNull(FormObj.elements[i].value) && jsCheckFloat(jsDeleteComma(FormObj.elements[i].value)) ) {
   FormObj.elements[i].value = jsDeleteComma(FormObj.elements[i].value);
  } else if ( !jsCheckNull(FormObj.elements[i].value) && jsCheckDate(jsDeleteChar(FormObj.elements[i].value,'/')) ) {
   FormObj.elements[i].value = jsDeleteChar( FormObj.elements[i].value, '/' );
  }
 }
}
}

/*--------------------------------------------------
  기능   : FormObj에서 checkBox 가 몇개 선택되었는지  리턴한다.
  INPUT  :
  RETURN :
----------------------------------------------------*/
function jsCheckBoxSelectedCnt( FormObj, checkBoxName ){
  var cnt = 0 ;
  for(var inx = 0; inx < FormObj.elements.length ; inx++ ) {
     if ( FormObj.elements[inx].name == checkBoxName && FormObj.elements[inx].checked ) {
      cnt++ ;
     }
  }
  return cnt;
}

/*--------------------------------------------------
  기능   : 영문 과 숫자로만 이루어 졌는지  체크를 해준다.
  INPUT  :
  RETURN :
----------------------------------------------------*/
function isAlphaNum(input) {
   var chars = " ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
   return containsCharsOnly(input,chars);
}


//입력값이 한글이 포함되어있는지 체크

function IsHangul(field)
{
if ( field == "" ) return false;

   var rtnLen = 0 ;

   for (i=0; i<field.length; i++)
   {  
       // 한글인 경우 길이가 UniCode 값은 10000 이상이다.
       if(field.charCodeAt(i) > 10000 )
       {
        rtnLen++;
       }
   }
  
   if ( rtnLen > 0 )
    return true;
   else
    return false;
}


/*----------------------------------------------------
  입력값이 특정 문자(chars)만으로 되어있는지 체크
  특정 문자만 허용하려 할 때 사용
  ex) if (!containsCharsOnly(form.blood,"ABO")) {
         alert("혈액형 필드에는 A,B,O 문자만 사용할 수 있습니다.");
     }
------------------------------------------------------*/
function containsCharsOnly(input,chars) {
   for (var inx = 0; inx < input.value.length; inx++) {
      if (chars.indexOf(input.value.charAt(inx)) == -1)
          return false;
   }
   return true;
}

/*--------------------------------------------------
  기능   : POPUP OPEN Script
  INPUT  :
  RETURN :
----------------------------------------------------*/
function popup1( varAction, varWinName, varWidth, varHeight ){
var win = window.open( varAction, varWinName , "toolbar=0,location=0,directories=0,status=1,menubar=0,scrollbars=1,resizable=1, width=" + varWidth + ",height=" + varHeight + ", left=50,top=50");
return win;

//var FormObj = document.dataForm;
//FormObj.target = varWinName ;
//FormObj.action = varAction ;
//FormObj.submit() ;
}


function toTimeString( varDateObj ) { //formatTime(date)
   var year  = varDateObj.getFullYear();
   var month = varDateObj.getMonth() + 1; // 1월=0,12월=11이므로 1 더함
   var day   = varDateObj.getDate();

   if (("" + month).length == 1) { month = "0" + month; }
   if (("" + day).length   == 1) { day   = "0" + day;   }

   return ("" + year + month + day );
}

function jsAfterThisDate( varStdDate , varYYYY , varMM , varDD ) {

   var varDateObj = new Date();

   varStdDate = jsDeleteChar( varStdDate, "/" );

   var yyyy = varStdDate.substring(0,4) +"" ;
   var mm   = varStdDate.substring(4,6) +"" ;
   var dd   = varStdDate.substring(6,8) +"" ;

   var startDate = new Date(yyyy,(eval(mm)-1),dd) ; // 달 은 한달이 느리므로 1을 빼준다.

   varDateObj.setFullYear(startDate.getFullYear() + eval(varYYYY) ); //년을 더함
   varDateObj.setMonth(startDate.getMonth() + eval(varMM) );       //월을 더함
   varDateObj.setDate(startDate.getDate() + eval(varDD)  );         //일을 더함

   return toTimeString(varDateObj);
}

/*--------------------------------------------------
  기능   : text 입력시 숫자이외의 키를 눌렀을때 무효화시킨다.
  INPUT  : 없음
  RETURN : 이벤트 무효화

  주의!  : onKeypress 이벤트만 사용할것
         예) <input type="text" onKeypress="jsOnlyNumberKey();">
----------------------------------------------------*/
function jsOnlyNumberKey() {
   if ( event != null) {
     if ( event.keyCode < 48 || event.keyCode > 57 ) {
       event.returnValue = false;
     }
   }
}

/* 이전페이지로 이동 */
function jsBack(){
history.go(-1);
}

/* 모래시계 보이게 하기 */
function jsVisible( str ){
if( str == '1' )
 document.body.style.cursor='wait'
else
 document.body.style.cursor='auto'
}

/* 15초후에 jsRefresh()라는 function을 호출 */
var timeId   = null ;

function jsRunAfterTime() {
//15초 후에 Refresh
timeId = setTimeout( "jsRefresh()", 15000 ) ;
}

/**
* 소수점 아래 몇자리 이하 절삭.
*
* @param num 숫자
* @param place 자리수
* @return 절삭된 숫자
*/
function getCutNumber(num, place) {
var returnNum;
var str = "1";

return Math.floor( num * Math.pow(10,parseInt(place,10)) ) / Math.pow(10,parseInt(place,10));
}

/* text의 좌우 공백을 제거해서 리턴*/
function trim(text) {
if (text == "") {
 return text;
}

var len = text.length;
var st = 0;

while ((st < len) && (text.charAt(st) <= ' ')) {
 st++;
}

while ((st < len) && (text.charAt(len - 1) <= ' ')) {
 len--;
}

return ((st > 0) || (len < text.length)) ? text.substring(st, len) : text;
}

/* text의 좌측의 공백을 제거해서 리턴*/
function ltrim(text) {
if (text == "") {
 return text;
}

var len = text.length;
var st = 0;

while ((st < len) && (text.charAt(st) <= ' ')) {
 st++;
}

return (st > 0) ? text.substring(st, len) : text;
}

/* text의 우측의 공백을 제거해서 리턴*/
function rtrim(text) {
if (text == "") {
 return text;
}

var len = text.length;
var st = 0;

while ((st < len) && (text.charAt(len - 1) <= ' ')) {
 len--;
}

return (len < text.length) ? text.substring(st, len) : text;
}

/*--------------------------------------------------
  기능   : select box 를 CLEAR 시킨다.
  INPUT  : varObjFullNm : select box 객체
          varDeleteCnt : 첫번째 아이템 삭제 여부 결정
  RETURN : NONE
----------------------------------------------------*/
function cmInitSelectBox( varObjFullNm, varDeleteCnt ) {
varObj = eval( varObjFullNm ) ;
varObj.length = varDeleteCnt ;
}

/*--------------------------------------------------
  기능   :  select box 를 만든다.
  INPUT  : varObjFullNm :  select box 객체
          varText      :
          varValue     : 
  RETURN : NONE
----------------------------------------------------*/
function cmMakeSelectBox( varObjFullNm, varText, varValue ) {
varObj = eval( varObjFullNm ) ;

var empOption = null ;

empOption = document.createElement("OPTION");
empOption.text = varText ;
empOption.value = varValue ;
varObj.options.add(empOption);
}


/*
Text
jsChangeComma( str ) ' -> ` 로 대치
jsStrCheck(checkStr, checkOK)
  들어가서는 안되는 데이타(checkOK)가 checkStr에 포함되어있는지 체크
jsMoveFocus( varTextObj, varLength, varFocusToObj )
  TextBox에서 조건이 만족하면 특정객체로 포커스를 이동
jsCheckNull( toCheck ) toCheck의 값이 Null값인지를 체크
jsDeleteComma( varNumber ) 컴마를 삭제하고 리턴
jsDeleteChar( varText, varDelete ) 문자열에서 해당 character를 지우고 리턴

CheckBox
jsCheckBoxSelectedCnt( FormObj, checkBoxName )
  FormObj에서 checkBox 가 몇개 선택되었는지  리턴한다.
jsToggle(FormObj, elemNm, checkYn)
  특정 폼안의 체크박스오브젝트를 전체선택하거나 전체반전시킴
 
SelectBox
jsCheckSelectBox ( sb ) SelectBox에서 선택된 값의 value를 리턴
jsCheckSelectBoxNm ( sb ) SelectBox에서 선택된 값의 Text를 리턴
cmInitSelectBox( varObjFullNm, varDeleteCnt )
  해당 SelectBox를 초기화 시킨다. varDeleteCnt가 1이면 첫번째값을 지우지 않는다.
cmMakeSelectBox( varObjFullNm, varText, varValue ) 해당 selectBox에 하나의 값을 추가시킴
  
날짜 
jsCheckYYYY(toCheck) 년도를 체크
jsCheckYYYYMM(toCheck) 년월을 체크
jsCheckMM(toCheck) 월을 체크
jsCheckDD(yyyy,mm,toCheck) 일을 체크
jsCheckDate( dateVal ) 날짜를 체크
jsAddYear( startDt, plusYear ) 날짜에 년수를 더함
jsAddMonths( startDt, plusMonth ) 날짜에 월수를 더함
jsGetBetweenDay( startDt, endDt ) 날짜와 날짜사이의 일수를 리턴
jsCheckTime( toCheck ) 시간포맷인지를 체크
jsMakeYyyyMm( varTextObj )
  해당 텍스트박스 객체필드에 YYYY/MM형식으로 [/]를 찍어서 채워준다.
jsMakeYyyyMmString( varText ) 넘어온 값에 날짜형식으로 [/]를 찍어서 리턴.
jsMakeDate( varTextObj ) 넘어온 Object의 값을 날짜형식으로 채워줌
jsMakeDateString( varText )넘어온 값을 날짜형식으로 리턴
toTimeString( varDateObj ) DateObj를 넘겨주면 년월일을 리턴  20030201
jsAfterThisDate( varStdDate , varYYYY , varMM , varDD )
  날짜형식의 문자열에 특정 년, 월, 일을 더한값을 리턴


날짜 체크 사용 예 호출하는 페이지에 다음 부분을 추가

<input ... onKeyUp='jsChkDate(this,lottSearchForm.txtEdate)' onBlur='compareDate()'>


function compareDate(){  

if( jsCheckNull(document.forms[0].txtSdate.value) ||

    jsCheckNull(document.forms[0].txtEdate.value) )
    return;
 
var from = document.forms[0].txtSdate.value.replace(/(\,|\.|\-|\/|\:)/g,'');
var to   = document.forms[0].txtEdate.value.replace(/(\,|\.|\-|\/|\:)/g,'');

if( jsGetBetweenDay(from,to) < 0 ) {
 alert("기간이 잘못 입력되었습니다. 다시입력하세요");
 document.forms[0].txtSdate.value = "";
 document.forms[0].txtEdate.value = "";
 document.forms[0].txtSdate.focus();
 return ;
}

}

function jsChkDate( valObj, nextPos ){

if( valObj.value.length == 8 ) {
 if( !jsCheckDate( valObj.value ) ) {
  alert("일자 입력오류입니다. 다시 입력해 주십시요.");
  valObj.value = '';
  valObj.focus();
  return;
 }  
 jsMakeDate( valObj );
 nextPos.focus();

}

           

 
주민등록번호
jsCheckJumin(toCheck) 주민등록번호 체크

사업자등록번호
jsCheckSaupJa(toCheck) 사업자등록번호 체크

문자열길이 체크
getByteLength(s) 한글2바이트, 영문 1바이트로 바이트수를 리턴

쿠키
setCookie( name, value, expireFlag ) Set Cookie
getCookie( name ) get Cookie

숫자
jsParseInt( varStr ) 문자를 숫자로 변환 null일때
jsConvertNumberToHangul( varNum ) 숫자를 한글로 변환
jsMakeCurrency( varTextObj ) 넘어온 숫자에 컴마를 찍어서 리턴 소숫점 허용안함
jsMakeForeignCurrency( varTextObj ) 넘어온 숫자에 컴마를 찍어서 리턴 소숫점 허용함
jsOnlyNumber( varTextObj ) 해당 텍스트박스 객체에 숫자만 입력받을수 있도록
jsOnlyFloat( varTextObj ) 해당 텍스트박스 객체에 숫자와 1개의 point만을 입력받게 해준다.
jsAddComma( varNumber )
  숫자를 받아서 comma를 찍어서 리턴한다 소수점 인식 숫자가 아닌값 -1을 리턴 음수표현가능
jsAddCommaAndZero( varNumber )
  숫자를 받아서 comma를 찍어서 리턴한다 소수점 인식 숫자가 아닌값 -1을 리턴 음수표현 불가능
jsCheckFloat(toCheck) Folat형인지를 체크 정수도 Float으로 인식
jsCheckPoint( toCheck , Positive , Negative ) 자리수 체크 정수 몇자리 소수 몇자리
jsCheckNumber(toCheck) Number타입인지 체크, 소수점은 Number타입으로 인식하지 않음 
getCutNumber(num, place) 소수점 아래 몇자리 이하 절삭
jsOnlyNumberKey() text 입력시 숫자이외의 키를 눌렀을때 무효화시킨다.
jsCheckFloatType( varNum, varLeft, varRight ) 정수부분자리수 소수부분자리수 체크 
 
기타
jsSplitCode(varString, varSplitChar, varIndex) 구분자로 구분해서 index의 문자를 리턴
jsCheckIp(toCheck) toCheck값이 정확한 IP Address인지 체크
jsCheckEmail( emailVal ) 이메일을 체크 - 보완요망
jsShowHelp( helpfile ) helpfile를 팝업으로 오픈
jsGetObjCnt( FormObj, varObjName ) 특정폼에서 해당오브젝트가 몇개인지를 리턴
jsClearFrame( fr ) 특정프레임에 공백 jsp를 띄워줌
jsDeleteCharAll( FormObj )
  해당 폼에 해당하는 모든 오브젝트의 값들에서 ',' and '/'문자를 지워준다.   
isAlphaNum(input) 영문과 숫자로만 이루어졌는지를 체크

IsHangul(field) 입력값에 한글이 있는지 체크
containsCharsOnly(input,chars) 입력값이 특정 문자(chars)만으로 되어있는지 체크
popup1( varAction, varWinName, varWidth, varHeight ) 팝업을 호출
jsBack() 이전 페이지로 이동
jsVisible( str ) 특정조건에 해당하면 모래시계를 보여줌
jsRunAfterTime() 설정한 시간뒤에 특정 function을 호출
trim(text) ltrim(text) rtrim(text) text의 좌우측, 좌측, 우측의 공백을 제거해서 리턴
*/


/*--------------------------------------------------
  기능   : Cookie Setting
  INPUT  : name, value
          expireFg : 'Y' : 2020년 까지 쿠키저장
          expireFg : 'N' : session이 끊어질때 쿠키지움
  RETURN : NONE
----------------------------------------------------*/
function setCookie( name, value, expireFg ) {
   var expireDate = new Date ( 2020, 1, 1, 1, 1, 1 ) ;

   if ( expireFg = 'Y' )
       document.cookie = name + "=" + value + "; expires=" + expireDate.toGMTString() ;
   else
       document.cookie = name + "=" + value + ";" ;

}
/*--------------------------------------------------
  기능   : Cookie Get
  INPUT  : name
  RETURN : 쿠키값( 없으면 "" )
----------------------------------------------------*/
function getCookie( name ) {
   var cookieFound = false ;
   var start = 0 ;
   var end   = 0 ;
   var cookieString = document.cookie ;

   var i = 0 ;

   // name에 해당되는 cookie를 찾는다.
   while ( i <= cookieString.length ) {
       start = i ;
       end = start + name.length ;
       if ( cookieString.substring( start, end ) == name ) {
           cookieFound = true ;
           break ;
       }
       i++ ;
   }

   // cookie를 찾았으면 해당하는 값을 그렇지 않으면 ""을 return ;
   if ( cookieFound ) {
       start = end + 1 ;
       end   = document.cookie.indexOf(";",start) ;
       if ( end < start )
           end = document.cookie.length ;
       return document.cookie.substring( start, end ) ;
   }

   return "" ;
}

/*-----------------------------------------------
' ->문자를 쿼리문에 사용시 에러가 발생하므로 `로 대치
INPUT  : str
RETURN : 문자열안의 문자중 ' 문자를 ` 로 변경한 문자열
-------------------------------------------------*/
function jsChangeComma( str ){
while( str.indexOf("'") != -1 ){
 str = str.replace("'","`");
}
   return str;
}

/*----------------------------------------------------------
  기능   : Split Code RETURN Splited code by varSplitChar
  INPUT  : varString 문자
     : varSplitChar 구분자
  : varIndex 구분자의 위치
  RETURN : Splited code by varSplitChar
  예     : jsSplitCode( "111^222^333", "^", 2 ) == "222"
-----------------------------------------------------------*/
function jsSplitCode(varString, varSplitChar, varIndex) {
var varArray = varString.split(varSplitChar) ;

return varArray[eval(varIndex)-1];
}

/*--------------------------------------------------
  기능   : Check Null RETURN T/F
  INPUT  : check  data
  RETURN : true  -> NULL
          false -> NOT NULL
----------------------------------------------------*/
function jsCheckNull( toCheck )
{
    var chkstr = toCheck + "";
    var is_Space = true ;

    if ( ( chkstr == "") || ( chkstr == null ) )
   return( true );

    for ( j = 0 ; is_Space && ( j < chkstr.length ) ; j++)
    {
     if( chkstr.substring( j , j+1 ) != " " )
        {
       is_Space = false ;
        }
    }
    return ( is_Space );
}

/*--------------------------------------------------
  기능   : Check IP address RETURN T/F
  INPUT  : toCheck  -> check data
  RETURN : true  -> IP address
          false -> not IP address
----------------------------------------------------*/
function jsCheckIp(toCheck)
{
    var chkstr = toCheck+"" ;
    var isIp = true ;

    if ( jsCheckNull(toCheck) )
         return false;

    for (j = 0 ; isIp && (j < toCheck.length) ; j++)
    {
         if ((toCheck.substring(j,j+1) < "0") || (toCheck.substring(j,j+1) > "9"))
         {
             if ( toCheck.substring(j,j+1) == "." )
                 if ( j == 0 )
                     isIp = false ;
             else
                 isIp = false ;
         }
    }

    return isIp;
}

/*--------------------------------------------------
  기능   : Check Number RETURN T/F ( 소수점"."은 Number로 취급안함 )
  INPUT  : toCheck  -> check data
  RETURN : true  -> number ( "."이 포함안됨 )
          false -> not number
----------------------------------------------------*/
function jsCheckNumber(toCheck)
{
    var chkstr = toCheck+"" ;
    var isNum = true ;

    if ( jsCheckNull(toCheck) )
         return false;

    for (j = 0 ; isNum && (j < toCheck.length) ; j++)
    {
         if ((toCheck.substring(j,j+1) < "0") || (toCheck.substring(j,j+1) > "9"))
         {
            if ( toCheck.substring(j,j+1) == "-" || toCheck.substring(j,j+1) == "+")
            {
               if ( j != 0 )
               {
                  isNum = false;
               }
            }
            else
      isNum = false;
    }
    }

    if (chkstr == "+" || chkstr == "-") isNum = false;

    return isNum;
}

/*--------------------------------------------------
  기능   : Check data RETURN T/F
  INPUT  : toCheck  -> check data
          checkOK  -> 들어가서는 안되는 data
  RETURN : false -> 들어가서는 안되는 data가 없다
          true  -> 들어가서는 안되는 data가 있다.
  예1    : jsStrCheck( '12345', 'ABab' )
          string '12345'에는 'ABab'가 없으므로
          false를 리턴
  예2    : jsStrCheck( '12$45', 'ABab$#%' )
          string '12$45'에는 '$'가 있으므로
          true를 리턴
----------------------------------------------------*/
function jsStrCheck(checkStr, checkOK) {
   for (i = 0; i < checkStr.length; i++) {
       ch = checkStr.charAt(i);
       for (j = 0; j < checkOK.length; j++)
       if (ch == checkOK.charAt(j))
          break;
       if (j == checkOK.length) {
               return false;
               break;
       }
   }
   return true;
}

/*--------------------------------------------------
  기능   : Check Float RETURN T/F (정수도 Float로 취급)
  INPUT  : toCheck  -> check data
  RETURN : true  -> number
          false -> not number
----------------------------------------------------*/
function jsCheckFloat(toCheck)
{
    var chkstr = toCheck+"" ;
    var isFloat = true;

    var chkPoint = false;
    var chkMinus = false;

    if ( jsCheckNull(toCheck) )
    {
          return false;
    }

    for (j = 0 ; isFloat && (j < toCheck.length); j++)
    {
        if ( (toCheck.substring(j,j+1) < "0") || (toCheck.substring(j,j+1) > "9"))
        {

           if ( toCheck.substring(j,j+1) == "." )
           {
              if ( !chkPoint ) chkPoint = true ;
              else  isFloat = false ;
           }
           else if ( toCheck.substring(j,j+1) == "-" || toCheck.substring(j,j+1) == "+")
           {
              if ( ( j == 0 ) && ( !chkMinus ) ) chkMinus = true ;
              else isFloat = false;
           }
           else isFloat = false;
       }
   }

   return isFloat;
}

/*--------------------------------------------------
  기능   : 자릿수 check RETURN T/F
  INPUT  : toCheck  -> check data
  RETURN : true  -> number
          false -> not number
----------------------------------------------------*/
function jsCheckPoint( toCheck , Positive , Negative )
{
    var strPos = toCheck + "" ;
    var isPoint = true ;

    if ( jsCheckFloat ( toCheck ) )
    {

        var inx = strPos.indexOf(".") ;

        if ( inx == -1 )
        {
             if ( strPos.length > parseInt(Positive) )
                isPoint = false ;
             else
                isPoint = true ;
         }
         else
         {
              var pos = strPos.substring( 0, inx ) ;
              var nev = strPos.substring(inx + 1) ;

              if ( pos.length > parseInt(Positive) )
                    isPoint = false ;
              else if ( nev.length > parseInt(Negative) )
                    isPoint = false ;
              else
                    isPoint = true ;
         }
     }
     else if ( jsCheckNumber (toCheck) )
           isPoint = true  ;
     else
           isPoint = false ;

     return isPoint ;

}

////////////////////////////////////////////////////////////////n
////////////    DATE  VALIDATION  CHECK    //////////////////////
/////////////////////////////////////////////////////////////////

/*--------------------------------------------------
  기능   : calender에서 사용할 월별 배열를 만든다.
  INPUT  : 각 인자의 값
----------------------------------------------------*/
function jsMonthArray(m0,m1,m2,m3,m4,m5,m6,m7,m8,m9,m10,m11)
{
     this[0] = m0;
     this[1] = m1;
     this[2] = m2;
     this[3] = m3;
     this[4] = m4;
     this[5] = m5;
     this[6] = m6;
     this[7] = m7;
     this[8] = m8;
     this[9] = m9;
     this[10] = m10;
     this[11] = m11;
}


/*--------------------------------------------------
  기능   : 년도를 check한다.
  INPUT  : toCheck
  RETURN : NONE
    MSG :
----------------------------------------------------*/

function jsCheckYYYY(toCheck)
{
  return ( ( toCheck.length == 4) && ( jsCheckNumber(toCheck)  ) && ( toCheck != "0000") );
}

/*--------------------------------------------------
  기능   : 년월을 check한다.
  INPUT  : toCheck
  RETURN : NONE
    MSG :
----------------------------------------------------*/

function jsCheckYYYYMM(toCheck)
{
    var isDate  = true ;

    if ( toCheck.length != 6 )
    {
         isDate = false ;
    }
    else
    {

          var yy = toCheck.substring(0,4) +"" ;
          var mm = toCheck.substring(4,6) +"" ;

          if ( !jsCheckYYYY(yy) )
             isDate = false ;
          else if ( !jsCheckMM(mm) )
             isDate = false ;
    }

    return isDate ;
}

/*--------------------------------------------------
  기능   : 월을 check한다.
  INPUT  : toCheck
  RETURN :
   MSG  :
----------------------------------------------------*/
function jsCheckMM(toCheck)
{
     return ((toCheck.length > 0) && (jsCheckNumber(toCheck)) && (0< eval(toCheck)) && (eval(toCheck) < 13));
}

/*--------------------------------------------------
  기능   : 일을 check한다.
  INPUT  : toCheck
  RETURN : NONE
    MSG :
----------------------------------------------------*/
function jsCheckDD(yyyy,mm,toCheck)
{
     var isYMD  = false;
     var monthDD= new jsMonthArray(31,28,31,30,31,30,31,31,30,31,30,31);
     var im     = eval(mm) - 1;
     if ( toCheck.length == 0 )  return false;
     if ( !jsCheckNumber(toCheck)  )  return false;
     var dd     = eval(toCheck);
     if ( ( (yyyy%4 == 0) && (yyyy%100 != 0) ) || (yyyy%400 == 0) )
     {
          monthDD[1] = 29;
     }
     if ( (0 < dd) && (dd <= monthDD[im]) ) isYMD = true;
          return isYMD;
}

/*--------------------------------------------------
  기능   : 날짜를 check한다.
  INPUT  : dateVal '20030321'
  RETURN : NONE
    MSG :
----------------------------------------------------*/
function jsCheckDate( dateVal )
{

    var isDate  = true ;

    if ( dateVal.length != 8 )
    {
         isDate = false ;
    }
    else
    {

          var yy = dateVal.substring(0,4) +"" ;
          var mm = dateVal.substring(4,6) +"" ;
          var dd = dateVal.substring(6,8) +"" ;

          if ( !jsCheckYYYY(yy) )
             isDate = false ;
          else if ( !jsCheckMM(mm) )
             isDate = false ;
          else if ( !jsCheckDD (yy,mm,dd) )
             isDate = false ;
    }

    return isDate ;

}

/*--------------------------------------------------
  기능   : 날짜에 년수를 더한다.
  INPUT  : startDt(YYYYMMDD), year
  RETURN : rtnValue : 날짜에 년수를 더한 날짜
          -1       : ERROR..!
          예) 20000110 + 1년 = 20010110
          예) 20000229 + 1년 = 20010228
    MSG :
----------------------------------------------------*/
function jsAddYear( startDt, plusYear ) {
var rtnValue = -1 ;

// input date의 날짜 체크
if ( !jsCheckDate(startDt) || !jsCheckNumber(plusYear) ) {
 rtnValue = -1 ;
 return rtnValue ;
}

var yyyy = startDt.substring(0,4) +"" ;
var mm   = startDt.substring(4,6) +"" ;
var dd   = startDt.substring(6,8) +"" ;

var newYyyy = (eval(yyyy) + eval(plusYear)) ;

// 윤달(29일) 인 경우 28일로 고침
// 예) 20000229 에 1년을 더하면 20000228
var isYoonYear = false ;
// 4 로 나누어 떨어지면 윤년
// 100 으로 나누어 떨어지면 윤년 아님
// 400 으로 나누어 떨어지면 윤년
if ( (eval(newYyyy)%4) == 0 ) isYoonYear = true ;
if ( (eval(newYyyy)%100) == 0 ) isYoonYear = false ;
if ( (eval(newYyyy)%400) == 0 ) isYoonYear = true ;

if ( (mm == '02') && (dd == '29') && !isYoonYear ) dd = '28' ;

rtnValue = newYyyy + mm + dd ;

return rtnValue ;
}

/*--------------------------------------------------
  기능   : 날짜에 월수를 더한다.
  INPUT  : startDt(YYYYMMDD), year
  RETURN : rtnValue : 날짜에 월수를 더한 날짜
          -1       : ERROR..!
          예) 20000110 + 3월  = 20000410
          예) 20000229 + 12월 = 20000228
    MSG :
----------------------------------------------------*/
function jsAddMonths( startDt, plusMonth ) {
var rtnValue = -1 ;

// input date의 날짜 체크
if ( !jsCheckDate(startDt) || !jsCheckNumber(plusMonth) ) {
 rtnValue = -1 ;
 return rtnValue ;
}

var yyyy = startDt.substring(0,4) +"" ;
var mm   = startDt.substring(4,6) +"" ;
var dd   = startDt.substring(6,8) +"" ;

var newMm = null;

// 월수를 더하여 1년이 넘는 경우
if ( (eval(mm) + eval(plusMonth)) > 12 ) {
 yyyy  = eval(yyyy) + 1 ;
 newMm = eval(mm) + eval(plusMonth) - 12 ;
} else {
 newMm = eval(mm) + eval(plusMonth) ;
}

// 윤년 처리
var isYoonYear = false ;
// 4 로 나누어 떨어지면 윤년
// 100 으로 나누어 떨어지면 윤년 아님
// 400 으로 나누어 떨어지면 윤년
if ( (eval(yyyy)%4) == 0 ) isYoonYear = true ;
if ( (eval(yyyy)%100) == 0 ) isYoonYear = false ;
if ( (eval(yyyy)%400) == 0 ) isYoonYear = true ;

// 윤년인 경우
if ( isYoonYear ) {
 if ( (newMm == '02') && ( dd=='30' || dd=='31' ) ) dd = '29' ;
// 평년인 경우
} else {
 if ( (newMm == '02') && ( dd=='29' || dd=='30' || dd=='31' ) ) dd = '28' ;
}

// 월의 자리수를 맞춘다. ( 2 월 -> 02 )
if ( eval(newMm) < 10 ) { newMm = "0" + newMm  } ;
rtnValue = yyyy + newMm + dd ;

return rtnValue ;
}

/*--------------------------------------------------
  기능   : 날짜와 날짜 사이의 일수를 리턴한다.
  INPUT  : startDt(YYYYMMDD), endDt(YYYYMMDD)
  RETURN : rtnValue : 날짜와 날짜 사이의 일수
          -1       : ERROR..!
    MSG :

----------------------------------------------------*/
function jsGetBetweenDay( startDt, endDt )
{
    var rtnValue = 0 ;

    // input date의 날짜 체크
    if ( !jsCheckDate(startDt) || !jsCheckDate(endDt) ) {
     rtnValue = -1 ;
    }
    else {
          var yyyy = startDt.substring(0,4) +"" ;
          var mm   = startDt.substring(4,6) +"" ;
          var dd   = startDt.substring(6,8) +"" ;
          var startDate = new Date(yyyy,(eval(mm)-1),dd) ; // 달 은 한달이 느리므로 1을 빼준다.

          yyyy = endDt.substring(0,4) +"" ;
          mm   = endDt.substring(4,6) +"" ;
          dd   = endDt.substring(6,8) +"" ;
          var endDate = new Date(yyyy,(eval(mm)-1),dd) ;

          // 1000분의 1초 단위를 일 단위로 바꾸기
          rtnValue = ((endDate-startDate)/60/60/24/1000) ;
    }

    return rtnValue ;

}
/*--------------------------------------------------
  기능   : Check Time RETURN T/F
  INPUT  : check  time
  RETURN : true  -> TIME
          false -> NOT TIME
----------------------------------------------------*/
function jsCheckTime( toCheck )
{
    var chkstr  = toCheck + "";

    if ( ( chkstr == "") || ( chkstr == null ) )
   return( false );

    var mm = chkstr.substring( 0 ,2 );
    var ss = chkstr.substring( 3 ,5 );

    if (( mm <= "23" ) && ( mm >= "00" ))
    {
        if (( ss <= "60" ) && ( ss >= "00" ))
        {
            if ( chkstr.substring( 2 ,3 ) == ":")
            {
             return( true );
            }
        }
    }
    return( false );
}

/*--------------------------------------------------
  기능   : Check 주민등록번호 RETURN T/F
  INPUT  : toCheck
  RETURN : true  -> 올바른 번호
          false ->
----------------------------------------------------*/
function jsCheckJumin(toCheck) {
   var isJumin = true;
   if ( jsCheckNull(toCheck) ) {
         return false;
   } else if ( toCheck.length < 13 || toCheck.length > 13 ) {
         return false;
   } else if ( toCheck.substring(2,3) > "1" || toCheck.substring(6,7) > "2" || toCheck.substring(6,7) == "0" ) {
         return false;
   } else if ( toCheck.substring(2,3) == "1" && toCheck.substring(3,4) > "2" ){
         return false;
   } else if (!(toCheck.substring(4,6) >= "01" && toCheck.substring(4,6) <= "31")){
         return false;
   }
  for (j = 0; isJumin && (j < toCheck.length); j++) {
      if ( ( (toCheck.substring(j,j+1) < "0") || (toCheck.substring(j,j+1) > "9")) ) {
          isJumin = false;
      }
  }


 var a1=toCheck.substring(0,1)
 var a2=toCheck.substring(1,2)
 var a3=toCheck.substring(2,3)
 var a4=toCheck.substring(3,4)
 var a5=toCheck.substring(4,5)
 var a6=toCheck.substring(5,6)
 var check_digit=a1*2+a2*3+a3*4+a4*5+a5*6+a6*7
 var b1=toCheck.substring(6,7)
 var b2=toCheck.substring(7,8)
 var b3=toCheck.substring(8,9)
 var b4=toCheck.substring(9,10)
 var b5=toCheck.substring(10,11)
 var b6=toCheck.substring(11,12)
 var b7=toCheck.substring(12,13)

 var check_digit=check_digit+b1*8+b2*9+b3*2+b4*3+b5*4+b6*5
 check_digit = check_digit%11
 check_digit = 11 - check_digit
 check_digit = check_digit%10
 if (check_digit != b7){
  isJumin = false;
 }

  return isJumin;
}

/*--------------------------------------------------
  기능   : Check 사업자 등록번호 RETURN T/F
  INPUT  : toCheck
  RETURN : true  -> 올바른 번호
          false ->
----------------------------------------------------*/
function jsCheckSaupJa(toCheck) {
   var isSaupJa = true;
   if ( jsCheckNull(toCheck) ) {
         return false;
   } else if ( toCheck.length < 10 || toCheck.length > 10 ) {
         return false;
   }
   for (j = 0; isSaupJa && (j < toCheck.length); j++) {
      if ( ( (toCheck.substring(j,j+1) < "0") || (toCheck.substring(j,j+1) > "9")) ) {
          isSaupJa = false;
      }
   }
   return isSaupJa;
}

/*--------------------------------------------------
  기능   : E-Mail를 check한다.
  INPUT  : emailVal
  RETURN : NONE
    MSG :
----------------------------------------------------*/
function jsCheckEmail( emailVal )
{
    if ( jsCheckNull(emailVal) ) return true;

    var inx = emailVal.indexOf("@") ;

    if ( inx <= 0 || inx==emailVal.length-1 ) return false;

    return true ;
}
/*--------------------------------------------------
  기능   :
  INPUT  : varNum : 실수
       varLeft : 정수부분 자리수
       varRight : 소수부분 자리수
  RETURN : true : 실수가 정/소수부분의 자리수를 초과하지 않는다.
       false : 실수가 정/소수부분의 자리수를 초과한다.
----------------------------------------------------*/
function jsCheckFloatType( varNum, varLeft, varRight ) {

var resultFlag = true ;

if ( varNum.charAt(0) == "-" ){
 varNum = varNum.substring(1,varNum.length);
}

var PointIndex = varNum.indexOf(".");

if ( PointIndex < 0 ){
 if ( varNum.length > varLeft )
  resultFlag = false ;
}else{
 var LeftLength = varNum.substring(0,PointIndex).length;
 var RightLength = varNum.substring(PointIndex+1, varNum.length ).length;

 if ( (LeftLength > varLeft) || (RightLength > varRight) )
  resultFlag = false ;
}

return resultFlag ;

}

/*--------------------------------------------------
  기능   :
  INPUT  : helpfile
  RETURN :
----------------------------------------------------*/
function jsShowHelp( helpfile )
{
     var helpstr = helpfile + "" ;
     var URL     = "" ;
     var cWin ;

     URL = "/help/"+helpfile+".html" ;

     cWin = window.open(URL,"help","toolbar=0,location=0,directories=0,status=0,menubar=1,scrollbars=1,resizable=1,width=560,height=320");

     cWin.focus();
}

/*--------------------------------------------------
  기능   : 한글이든 영문이든 제대로 갯수 체크를 해준다.
  INPUT  : String
  RETURN :
----------------------------------------------------*/
function getByteLength(s){
  var len = 0;
  if ( s == null ) return 0;
  for(var i=0;i<s.length;i++){
     var c = escape(s.charAt(i));
     if ( c.length == 1 ) len ++;
     else if ( c.indexOf("%u") != -1 ) len += 2;
     else if ( c.indexOf("%") != -1 ) len += c.length/3;
  }
  return len;
}

/*--------------------------------------------------
  기능   : FormObj에서 varObjName이 몇개 존재하는지 리턴한다.
  INPUT  : FormObj : FormName
     : varObjName : 객체명
  RETURN :
----------------------------------------------------*/
function jsGetObjCnt( FormObj, varObjName ){
var cnt = 0 ;
  for(var inx = 0; inx < FormObj.elements.length ; inx++ ) {
     if ( FormObj.elements[inx].name == varObjName ) {
      cnt++ ;
     }
  }
  return cnt;
}

/*--------------------------------------------------
  기능   :  SELECT OPTION BOX의 값을 RETURN 한다.
  INPUT  : sb = selectBoxName
  RETURN :
----------------------------------------------------*/
function jsCheckSelectBox ( sb )
{
   var temp = sb.options[sb.selectedIndex].value ;
   return ( temp );
}

function jsCheckSelectBoxNm ( sb )
{
   var temp = sb.options[sb.selectedIndex].text ;
   return ( temp );
}

/*--------------------------------------------------
  기능   :  해당 Frame을 공백페이지로 변경
  INPUT  : fr : FrameName
  RETURN :
----------------------------------------------------*/
function jsClearFrame( fr ) {
   fr.location = "/common/blank.jsp";
}

/*--------------------------------------------------
  기능   : checkBox를 전체선택 및 해제를 할수 있게 한다.
  INPUT  : FormObj FormName
       elemNm CheckBox name
       checkYn boolean
  RETURN :
----------------------------------------------------*/
function jsToggle(FormObj, elemNm, checkYn){
var i =0;
while (i < FormObj.elements.length)
{
 if (FormObj.elements[i].name== elemNm )
 {
  FormObj.elements[i].checked= checkYn;
 }
 i++;
}
}

/*--------------------------------------------------
  기능   : focus 옮기기
  INPUT  : varTextObj : TextBox 객체명
       varLength  : 조건에 맞는 textLength
       varFocusToObj : Focus를 옮겨갈 객체명
  RETURN :
----------------------------------------------------*/
function jsMoveFocus( varTextObj, varLength, varFocusToObj ) {
if ( varTextObj.value.length == varLength ) {
 varFocusToObj.focus() ;
 varFocusToObj.select() ;
 return ;
}
}

/*--------------------------------------------------
  기능   : 문자를 숫자로 convert 한다. 단,
       parseFloat 와 다른 점은 null 이 올때 0 으로 인식한다.
  INPUT  :
  RETURN :
----------------------------------------------------*/
function jsParseInt( varStr ) {
if ( varStr == null || varStr == "" )
 return 0 ;
else
 return parseInt(varStr) ;
}

/*--------------------------------------------------
  기능   : 숫자를 한글로 변환한다.
  예) 450,000,000 -> 사억오천만
  INPUT  :
  RETURN :
----------------------------------------------------*/
function jsConvertNumberToHangul( varNum )
{
// 리턴할 문자열
var returnStr = "" ;

// 음수일 때는 에러
if ( eval(varNum) < 0 ) {
 return returnStr ;
}

// 넘어온 숫자를 문자로 변환
var numLen = varNum.length ;
// 변환된 문자를 앞에서 부터 한자씩 잘라서 보관할 변수
var oneChar = null ;
var isDone1 = true ;
var isDone2 = true ;
var isDone3 = true ;
var isDone4 = true ;
var isDone5 = false ;
for ( var inx = 0 ; inx < numLen ; inx++ ) {
 oneChar = varNum.substring( inx, inx+1 ) ;
 isDone5 = false ;

 if ( oneChar == "0" ) {
  // 아무일도 안함
 } else if ( oneChar == "1" ) {
  returnStr = returnStr + "일" ;
  isDone5 = true ;
 } else if ( oneChar == "2" ) {
  returnStr = returnStr + "이" ;
  isDone5 = true ;
 } else if ( oneChar == "3" ) {
  returnStr = returnStr + "삼" ;
  isDone5 = true ;
 } else if ( oneChar == "4" ) {
  returnStr = returnStr + "사" ;
  isDone5 = true ;
 } else if ( oneChar == "5" ) {
  returnStr = returnStr + "오" ;
  isDone5 = true ;
 } else if ( oneChar == "6" ) {
  returnStr = returnStr + "육" ;
  isDone5 = true ;
 } else if ( oneChar == "7" ) {
  returnStr = returnStr + "칠" ;
  isDone5 = true ;
 } else if ( oneChar == "8" ) {
  returnStr = returnStr + "팔" ;
  isDone5 = true ;
 } else if ( oneChar == "9" ) {
  returnStr = returnStr + "구" ;
  isDone5 = true ;
 }

 if ( ((numLen-inx) % 4) == 0 && oneChar != "0" ) {
  returnStr = returnStr + "천" ;
 } else if ( ((numLen-inx) % 4) == 3 && oneChar != "0" ) {
  returnStr = returnStr + "백" ;
 } else if ( ((numLen-inx) % 4) == 2 && oneChar != "0" ) {
  returnStr = returnStr + "십" ;
 } else if ( ((numLen-inx) % 4) == 1 ) {
  if ( numLen >= 17 && isDone1 && isDone5 ) {
   returnStr = returnStr + "경" ;
   isDone1 = false ;
  } else if ( numLen >= 13  && isDone2 && isDone5 ) {
   returnStr = returnStr + "조" ;
   isDone2 = false ;
  } else if ( numLen >= 9  && isDone3 && isDone5 ) {
   returnStr = returnStr + "억" ;
   isDone3 = false ;
  } else if ( numLen >= 5  && isDone4 && isDone5 ) {
   returnStr = returnStr + "만" ;
   isDone4 = false ;
  }
 }
}

return returnStr ;
}

/*--------------------------------------------------
  기능   : 파라메터로 넘어온 필드에 comma를 찍어서 comma 를 찍어서 채워준다.
      소수점 허용 안함
   예) 1000.00 -> 1,000   
  INPUT  :
  RETURN :
----------------------------------------------------*/
function jsMakeCurrency( varTextObj ) {
varTextObj.value = jsDeleteComma( varTextObj.value ) ;

var varLength = varTextObj.value.length ;
var varText   = "" ;
var isPointed = false ;
for ( var inx = 0 ; inx < varLength ; inx++ ) {
 if ( jsCheckNumber(varTextObj.value.substring(inx, inx+1)) ) {
  varText = varText + varTextObj.value.substring(inx, inx+1) ;
 }
}

varTextObj.value = jsAddComma( varText ) ;
}


/*--------------------------------------------------
  기능   : 파라메터로 넘어온 필드에 comma를 찍어서 comma 를 찍어서 채워준다.
      소수점 허용 함   
   예) 1000.00 -> 1,000.00   
  INPUT  :
  RETURN :
----------------------------------------------------*/
function jsMakeForeignCurrency( varTextObj ) {
varTextObj.value = jsDeleteComma( varTextObj.value ) ;

var varLength = varTextObj.value.length ;
var varText   = "" ;
var isPointed = false ;
for ( var inx = 0 ; inx < varLength ; inx++ ) {
 if ( jsCheckNumber(varTextObj.value.substring(inx, inx+1)) || (varTextObj.value.substring(inx, inx+1)=='.') ) {
  // 점이 안찍히고 처음으로 점이 들어왔을때
  if ( !isPointed && varTextObj.value.substring(inx, inx+1)=='.' ) {
   isPointed = true ;
   varText = varText + varTextObj.value.substring(inx, inx+1) ;
  // 숫자 일때
  } else if ( jsCheckNumber(varTextObj.value.substring(inx, inx+1)) ) {
   varText = varText + varTextObj.value.substring(inx, inx+1) ;
  }

 }
}

varTextObj.value = jsAddComma( varText ) ;
}

/*--------------------------------------------------
  기능   : 파라메터로 넘어온 객체필드에 숫자만을 입력받게 해준다.
  INPUT  :
  RETURN :
----------------------------------------------------*/
function jsOnlyNumber( varTextObj ) {

var varLength = varTextObj.value.length ;
var varText   = "" ;
for ( var inx = 0 ; inx < varLength ; inx++ ) {
 if ( jsCheckNumber(varTextObj.value.substring(inx, inx+1)) ) {
  varText = varText + varTextObj.value.substring(inx, inx+1) ;
 }
}

// 앞에 붙은 0 없애기 (예) 00200 -> 200
varLength = varText.length ;
var varTempReturnNumber = varText;
var varReturnNumber = "" ;
for ( var inx = 0 ; inx < varLength ; inx++ ) {
 if ( varTempReturnNumber.substring(inx, inx+1) == '0' ) {
  // '0' 이 넘어왔을 경우 '0'을 그대로 리턴해야 한다.
  if ( varLength == 1 ) varReturnNumber = "0" ;
  else if ( eval(jsDeleteComma(varTempReturnNumber)) == '0' ) {
   varReturnNumber = "0" ;
   break ;
  }
 } else {
  varReturnNumber = varTempReturnNumber.substring(inx, varLength+1) ;
  break ;
 }
}

varTextObj.value = varReturnNumber;
}

/*--------------------------------------------------
  기능   : 파라메터로 넘어온 필드에 숫자와 1개의 point만을 입력받게 해준다.
  INPUT  :
  RETURN :
----------------------------------------------------*/
function jsOnlyFloat( varTextObj ) {

varTextObj.value = jsDeleteComma( varTextObj.value ) ;

var varLength = varTextObj.value.length ;
var varText   = "" ;
var isPointed = false ;
for ( var inx = 0 ; inx < varLength ; inx++ ) {
 if ( jsCheckNumber(varTextObj.value.substring(inx, inx+1)) || (varTextObj.value.substring(inx, inx+1)=='.') ) {
  // 점이 안찍히고 처음으로 점이 들어왔을때
  if ( !isPointed && varTextObj.value.substring(inx, inx+1)=='.' ) {
   isPointed = true ;
   varText = varText + varTextObj.value.substring(inx, inx+1) ;
  // 숫자 일때
  } else if ( jsCheckNumber(varTextObj.value.substring(inx, inx+1)) ) {
   varText = varText + varTextObj.value.substring(inx, inx+1) ;
  }

 }
}

// 앞에 붙은 0 없애기 (예) 00200 -> 200
varLength = varText.length ;

var varReturnNumber = "" ;
for ( var inx = 0 ; inx < varLength ; inx++ ) {
 if ( varText.substring(inx, inx+1) == '0' ) {
  // '0' 이 넘어왔을 경우 '0'을 그대로 리턴해야 한다.
  if ( varLength == 1 ) varReturnNumber = "0" ;
  else if ( eval(jsDeleteComma(varText)) == '0' ) {
   varReturnNumber = "0" ;
   break ;
  }
 } else {
  varReturnNumber = varText.substring(inx, varLength+1) ;
  break ;
 }
}

varTextObj.value = varReturnNumber ;

}

/*--------------------------------------------------
  기능   : 파라메터로 넘어온 필드에 YYYY/MM형식으로 [/]를 찍어서 채워준다.
  INPUT  :
  RETURN :
----------------------------------------------------*/
function jsMakeYyyyMm( varTextObj ) {
varTextObj.value = jsDeleteChar( varTextObj.value, '/' ) ;

var varLength = varTextObj.value.length ;
var varText   = "" ;
for ( var inx = 0 ; inx < varLength ; inx++ ) {
 if ( jsCheckNumber(varTextObj.value.substring(inx, inx+1)) ) {
  varText = varText + varTextObj.value.substring(inx, inx+1) ;
 }
}

if ( varText.length < 6 ) {
 varTextObj.value = varText ;
} else {
 varTextObj.value = varText.substring(0,4) + "/" + varText.substring(4,6) ;
}
}

/*--------------------------------------------------
  기능   : 파라메터로 넘어온 String에 날짜형식으로 [/]를 찍어서 리턴.
    예) 200103 -> 2001/03
  INPUT  :
  RETURN :
----------------------------------------------------*/
function jsMakeYyyyMmString( varText ) {
if ( varText.length != 6 || !jsCheckNumber( varText ) ) {
 return varText ;
}

var varReturnText   = "" ;

varReturnText = varText.substring(0,4) + "/" + varText.substring(4,6) ;

return varReturnText
}

/*--------------------------------------------------
  기능   : 파라메터로 넘어온 필드에 날짜형식으로 [/]를 찍어서 채워준다.     
    예) 20010301 -> 2001/03/01         
  INPUT  : Text Object
  RETURN :
----------------------------------------------------*/
function jsMakeDate( varTextObj ) {
varTextObj.value = jsDeleteChar( varTextObj.value, '/' ) ;

var varLength = varTextObj.value.length ;
var varText   = "" ;
for ( var inx = 0 ; inx < varLength ; inx++ ) {
 if ( jsCheckNumber(varTextObj.value.substring(inx, inx+1)) ) {
  varText = varText + varTextObj.value.substring(inx, inx+1) ;
 }
}

if ( varText.length < 8 ) {
 varTextObj.value = varText ;
} else {
 varTextObj.value = varText.substring(0,4) + "/" + varText.substring(4,6) + "/" + varText.substring(6,8) ;
}
}

/*--------------------------------------------------
  기능   : 파라메터로 넘어온 String에 날짜형식으로 [/]를 찍어서 채워준다.     
    예) 20010301 -> 2001/03/01         
  INPUT  :
  RETURN :
----------------------------------------------------*/
function jsMakeDateString( varText ) {
if ( varText.length != 8 || !jsCheckNumber( varText ) ) {
 return varText ;
}

var varReturnText   = "" ;

varReturnText = varText.substring(0,4) + "/" + varText.substring(4,6) + "/" + varText.substring(6,8) ;

return varReturnText
}

/*--------------------------------------------------
  기능   : 숫자를 받아서 comma를 찍어서 리턴한다. 음수도 표현가능
    예) 1000.00 -> 1,000.00
    예) 숫자가 아닌 값 -> -1 리턴     
  INPUT  :
  RETURN :
----------------------------------------------------*/
function jsAddComma( varNumber ){
// 숫자가 아니면 -1을 리턴한다.
if ( jsCheckNull(varNumber) ) return "" ;
if ( !jsCheckFloat(varNumber) ) {
 return -1 ;
}

// 소수 이상, 이하 부분을 따로 보관.
var PointIndex = varNumber.indexOf(".") ;
var varUnderPoint = "" ;
var isPointed = false ;
// 소수 이하가 없을때
if ( PointIndex < 0 ) {
 isPointed = false ;
 // 소수 이하 부분
 varUnderPoint = "" ;
 // 소수 이상 부분
 varOverPoint = varNumber ;
// 소수 이하가 있을때
} else {
 isPointed = true ;
 // 소수 이하 부분
 varUnderPoint = varNumber.substring(PointIndex+1, varNumber.length ) ;
 // 소수 이상 부분
 varOverPoint = varNumber.substring(0, PointIndex) ;
}

// 음수일때 앞의 "-" 따로 보관
var negativeFlag = false ;
if ( varOverPoint.substring(0,1) == "-" ) {
 negativeFlag = true ;
 varOverPoint = varOverPoint.substring(1,varOverPoint.length+1) ;
}

// 소수 이상 부분에 comma 넣기
var varLength = varOverPoint.length ;
var varCnt = 0 ;
var varTempReturnNumber = "" ;
for ( var inx = varLength-1 ; inx >= 0 ; inx-- ) {
 varCnt++ ;

 // 소수점 찍기
 if ( varCnt == 4 ) {
  varTempReturnNumber = varOverPoint.substring( inx, inx+1 ) + "," + varTempReturnNumber ;
  varCnt = 1 ;
 // 소수점 안찍기
 } else {
  varTempReturnNumber = varOverPoint.substring( inx, inx+1 ) + varTempReturnNumber ;
 }

}

// 앞에 붙은 0 없애기 (예) 00200 -> 200
varLength = varTempReturnNumber.length ;
var varReturnNumber = "" ;
for ( var inx = 0 ; inx < varLength ; inx++ ) {
 if ( varTempReturnNumber.substring(inx, inx+1) == '0' ) {
  // '0' 이 넘어왔을 경우 '0'을 그대로 리턴해야 한다.
  if ( varLength == 1 ) varReturnNumber = "0" ;
  else if ( eval(jsDeleteComma(varTempReturnNumber)) == '0' ) {
   varReturnNumber = "0" ;
   break ;
  }
 } else {
  varReturnNumber = varTempReturnNumber.substring(inx, varLength+1) ;
  break ;
 }
}

// 소수점 이하 붙이기
if ( isPointed ) {
 varReturnNumber = varReturnNumber + "." + varUnderPoint ;
}

// 음수 붙이기
if ( negativeFlag ) {
 varReturnNumber = "-" + varReturnNumber ;
}

return varReturnNumber ;

}

/*--------------------------------------------------
  기능   : 숫자를 받아서 comma를 찍어서 리턴한다.
    예) 1000 -> 1,000.00
    예) 숫자가 아닌 값 -> -1 리턴  
  INPUT  :
  RETURN :
----------------------------------------------------*/
function jsAddCommaAndZero( varNumber ){
// 숫자가 아니면 -1을 리턴한다.
if ( jsCheckNull(varNumber) ) return "" ;
if ( !jsCheckFloat(varNumber) ) {
 return -1 ;
}

// 소수 이상, 이하 부분을 따로 보관.
var PointIndex = varNumber.indexOf(".") ;
var varUnderPoint = "" ;
// 소수 이하가 없을때
if ( PointIndex < 0 ) {
 // 소수 이하 부분
 varUnderPoint = "" ;
 // 소수 이상 부분
 varOverPoint = varNumber ;
// 소수 이하가 있을때
} else {
 // 소수 이하 부분
 varUnderPoint = varNumber.substring(PointIndex+1, varNumber.length ) ;
 // 소수 이상 부분
 varOverPoint = varNumber.substring(0, PointIndex) ;
}

// 소수 이상 부분에 comma 넣기
var varLength = varOverPoint.length ;
var varCnt = 0 ;
var varTempReturnNumber = "" ;
for ( var inx = varLength-1 ; inx >= 0 ; inx-- ) {
 varCnt++ ;

 // 소수점 찍기
 if ( varCnt == 4 ) {
  varTempReturnNumber = varOverPoint.substring( inx, inx+1 ) + "," + varTempReturnNumber ;
  varCnt = 1 ;
 // 소수점 안찍기
 } else {
  varTempReturnNumber = varOverPoint.substring( inx, inx+1 ) + varTempReturnNumber ;
 }

}

// 앞에 붙은 0 없애기 (예) 00200 -> 200
varLength = varTempReturnNumber.length ;
var varReturnNumber = "" ;
for ( var inx = 0 ; inx < varLength ; inx++ ) {
 if ( varTempReturnNumber.substring(inx, inx+1) == '0' ) {
 } else {
  varReturnNumber = varTempReturnNumber.substring(inx, varLength+1) ;
  break ;
 }
}

// 소수점 이하 붙이기
if ( varUnderPoint.length == 0 ){
 varReturnNumber = varReturnNumber + "." + "00" ;
}else if ( varUnderPoint.length == 1 ){
 varReturnNumber = varReturnNumber + "." + varUnderPoint + "0";
}else if ( varUnderPoint.length == 2 ){
 varReturnNumber = varReturnNumber + "." + varUnderPoint ;
}

return varReturnNumber ;

}

/*--------------------------------------------------
  기능   : 숫자를 받아서 comma를 없애고 리턴한다
    예) 1,000.00 -> 1000.00    
  INPUT  :
  RETURN :
----------------------------------------------------*/
function jsDeleteComma( varNumber ){
var varLength = varNumber.length ;

varReturnNumber = "" ;

for ( var inx = 0 ; inx < varLength ; inx++ ) {
 if ( varNumber.substring( inx, inx+1 ) != "," ) {
  varReturnNumber = varReturnNumber + varNumber.substring( inx, inx+1 ) ;
 }
}

return varReturnNumber ;
}

/*--------------------------------------------------
  기능   : 글자를 받아서 param를 없애고 리턴한다.
    예) 2001/01/01 -> 20010101    
  INPUT  : varText 문자열 varDelete 삭제하고자하는 Character
  RETURN :
----------------------------------------------------*/
function jsDeleteChar( varText, varDelete ){
var varLength = varText.length ;

varReturnText = "" ;

for ( var inx = 0 ; inx < varLength ; inx++ ) {
 if ( varText.substring( inx, inx+1 ) != varDelete ) {
  varReturnText = varReturnText + varText.substring( inx, inx+1 ) ;
 }
}

return varReturnText ;
}

/*--------------------------------------------------
  기능   : 폼 이름을 받아서 모든 text,hidden값에 comma, / 문자를 없애준다
  INPUT  :
  RETURN :
----------------------------------------------------*/
function jsDeleteCharAll( FormObj ) {
for ( i=0; i<FormObj.elements.length; i++ ) {
 if ( FormObj.elements[i].type == "text" || FormObj.elements[i].type == "hidden" ) {
  if ( !jsCheckNull(FormObj.elements[i].value) && jsCheckFloat(jsDeleteComma(FormObj.elements[i].value)) ) {
   FormObj.elements[i].value = jsDeleteComma(FormObj.elements[i].value);
  } else if ( !jsCheckNull(FormObj.elements[i].value) && jsCheckDate(jsDeleteChar(FormObj.elements[i].value,'/')) ) {
   FormObj.elements[i].value = jsDeleteChar( FormObj.elements[i].value, '/' );
  }
 }
}
}

/*--------------------------------------------------
  기능   : FormObj에서 checkBox 가 몇개 선택되었는지  리턴한다.
  INPUT  :
  RETURN :
----------------------------------------------------*/
function jsCheckBoxSelectedCnt( FormObj, checkBoxName ){
  var cnt = 0 ;
  for(var inx = 0; inx < FormObj.elements.length ; inx++ ) {
     if ( FormObj.elements[inx].name == checkBoxName && FormObj.elements[inx].checked ) {
      cnt++ ;
     }
  }
  return cnt;
}

/*--------------------------------------------------
  기능   : 영문 과 숫자로만 이루어 졌는지  체크를 해준다.
  INPUT  :
  RETURN :
----------------------------------------------------*/
function isAlphaNum(input) {
   var chars = " ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
   return containsCharsOnly(input,chars);
}


//입력값이 한글이 포함되어있는지 체크

function IsHangul(field)
{
if ( field == "" ) return false;

   var rtnLen = 0 ;

   for (i=0; i<field.length; i++)
   {  
       // 한글인 경우 길이가 UniCode 값은 10000 이상이다.
       if(field.charCodeAt(i) > 10000 )
       {
        rtnLen++;
       }
   }
  
   if ( rtnLen > 0 )
    return true;
   else
    return false;
}


/*----------------------------------------------------
  입력값이 특정 문자(chars)만으로 되어있는지 체크
  특정 문자만 허용하려 할 때 사용
  ex) if (!containsCharsOnly(form.blood,"ABO")) {
         alert("혈액형 필드에는 A,B,O 문자만 사용할 수 있습니다.");
     }
------------------------------------------------------*/
function containsCharsOnly(input,chars) {
   for (var inx = 0; inx < input.value.length; inx++) {
      if (chars.indexOf(input.value.charAt(inx)) == -1)
          return false;
   }
   return true;
}

/*--------------------------------------------------
  기능   : POPUP OPEN Script
  INPUT  :
  RETURN :
----------------------------------------------------*/
function popup1( varAction, varWinName, varWidth, varHeight ){
var win = window.open( varAction, varWinName , "toolbar=0,location=0,directories=0,status=1,menubar=0,scrollbars=1,resizable=1, width=" + varWidth + ",height=" + varHeight + ", left=50,top=50");
return win;

//var FormObj = document.dataForm;
//FormObj.target = varWinName ;
//FormObj.action = varAction ;
//FormObj.submit() ;
}


function toTimeString( varDateObj ) { //formatTime(date)
   var year  = varDateObj.getFullYear();
   var month = varDateObj.getMonth() + 1; // 1월=0,12월=11이므로 1 더함
   var day   = varDateObj.getDate();

   if (("" + month).length == 1) { month = "0" + month; }
   if (("" + day).length   == 1) { day   = "0" + day;   }

   return ("" + year + month + day );
}

function jsAfterThisDate( varStdDate , varYYYY , varMM , varDD ) {

   var varDateObj = new Date();

   varStdDate = jsDeleteChar( varStdDate, "/" );

   var yyyy = varStdDate.substring(0,4) +"" ;
   var mm   = varStdDate.substring(4,6) +"" ;
   var dd   = varStdDate.substring(6,8) +"" ;

   var startDate = new Date(yyyy,(eval(mm)-1),dd) ; // 달 은 한달이 느리므로 1을 빼준다.

   varDateObj.setFullYear(startDate.getFullYear() + eval(varYYYY) ); //년을 더함
   varDateObj.setMonth(startDate.getMonth() + eval(varMM) );       //월을 더함
   varDateObj.setDate(startDate.getDate() + eval(varDD)  );         //일을 더함

   return toTimeString(varDateObj);
}

/*--------------------------------------------------
  기능   : text 입력시 숫자이외의 키를 눌렀을때 무효화시킨다.
  INPUT  : 없음
  RETURN : 이벤트 무효화

  주의!  : onKeypress 이벤트만 사용할것
         예) <input type="text" onKeypress="jsOnlyNumberKey();">
----------------------------------------------------*/
function jsOnlyNumberKey() {
   if ( event != null) {
     if ( event.keyCode < 48 || event.keyCode > 57 ) {
       event.returnValue = false;
     }
   }
}

/* 이전페이지로 이동 */
function jsBack(){
history.go(-1);
}

/* 모래시계 보이게 하기 */
function jsVisible( str ){
if( str == '1' )
 document.body.style.cursor='wait'
else
 document.body.style.cursor='auto'
}

/* 15초후에 jsRefresh()라는 function을 호출 */
var timeId   = null ;

function jsRunAfterTime() {
//15초 후에 Refresh
timeId = setTimeout( "jsRefresh()", 15000 ) ;
}

/**
* 소수점 아래 몇자리 이하 절삭.
*
* @param num 숫자
* @param place 자리수
* @return 절삭된 숫자
*/
function getCutNumber(num, place) {
var returnNum;
var str = "1";

return Math.floor( num * Math.pow(10,parseInt(place,10)) ) / Math.pow(10,parseInt(place,10));
}

/* text의 좌우 공백을 제거해서 리턴*/
function trim(text) {
if (text == "") {
 return text;
}

var len = text.length;
var st = 0;

while ((st < len) && (text.charAt(st) <= ' ')) {
 st++;
}

while ((st < len) && (text.charAt(len - 1) <= ' ')) {
 len--;
}

return ((st > 0) || (len < text.length)) ? text.substring(st, len) : text;
}

/* text의 좌측의 공백을 제거해서 리턴*/
function ltrim(text) {
if (text == "") {
 return text;
}

var len = text.length;
var st = 0;

while ((st < len) && (text.charAt(st) <= ' ')) {
 st++;
}

return (st > 0) ? text.substring(st, len) : text;
}

/* text의 우측의 공백을 제거해서 리턴*/
function rtrim(text) {
if (text == "") {
 return text;
}

var len = text.length;
var st = 0;

while ((st < len) && (text.charAt(len - 1) <= ' ')) {
 len--;
}

return (len < text.length) ? text.substring(st, len) : text;
}

/*--------------------------------------------------
  기능   : select box 를 CLEAR 시킨다.
  INPUT  : varObjFullNm : select box 객체
          varDeleteCnt : 첫번째 아이템 삭제 여부 결정
  RETURN : NONE
----------------------------------------------------*/
function cmInitSelectBox( varObjFullNm, varDeleteCnt ) {
varObj = eval( varObjFullNm ) ;
varObj.length = varDeleteCnt ;
}

/*--------------------------------------------------
  기능   :  select box 를 만든다.
  INPUT  : varObjFullNm :  select box 객체
          varText      :
          varValue     : 
  RETURN : NONE
----------------------------------------------------*/
function cmMakeSelectBox( varObjFullNm, varText, varValue ) {
varObj = eval( varObjFullNm ) ;

var empOption = null ;

empOption = document.createElement("OPTION");
empOption.text = varText ;
empOption.value = varValue ;
varObj.options.add(empOption);
}

    //디비에 저장되어있는값을 읽어올때 공백이 아니면서 공백처럼 보이는건 이문제

   // 반각 문자를 전각문자로
   function convert2ByteChar(x_char) {
       var x_2byteChar = ""; //컨버트된 문자
       var c = x_char.charCodeAt(0);
       if(32 <= c && c <= 126) { //전각으로 변환될수 있는 문자의 범위
           if(c == 32) { //스페이스인경우 ascii 코드 32
               x_2byteChar = unescape("%uFFFC");
           } else {
               x_2byteChar = unescape("%u"+gf_DecToHex(c+65248));
           }
       }
       return  x_2byteChar;
   }

2006/09/08 16:02 2006/09/08 16:02
이 글에는 트랙백을 보낼 수 없습니다
출처 블로그 > Nothing...
원본 http://blog.naver.com/theblueweb/110004684145

javascript

php

typeof(string1)=="string"

string1의 타입값 확인

is_string(string1);

string1.length

문자열의 길이를 반환

strlen(string1);

String.fromCharCode(fromNum)
fromChar.charCodeAt(0)

chr(fromNum);
ord(fromChar);

string1.toLowerCase() 모두 소문자로
string1.toUpperCase() 모두 대문자로

strtolower(string1);
strtoupper(string1);

string1.indexOf( string2, fromNum )

strpos( string1, string2, fromNum );

string1.charAt(number)

substr(string1, number, 1);

string1.lastIndexOf( string2, fromNum )

function strposr($string='', $search='', $case=0){
if(!$case){$string=strtolower($string); $search=strtolower($search);};
return ( strpos($string, $search)===false )?false:
strlen($string) - strlen($search) - (strpos( strrev($string), strrev($search)));
}

string1.substring( fromNum, toNum )

substr( string1, fromNum, (toNum-fromNum) );

string1.substr( fromNum, length )

substr( string1, fromNum, length);

string1.substr(fromNum, length)
string1.substring( fromNum, (fromNum+length) )

substr( string1, fromNum, length );

string1.substring( string1.indexOf(string2) )

strstr( string1, string2 );

string1.split(stringSplitter)

explode(stringSplitter, string1);

string1.replace( findThis, replaceWithThis )

str_replace( findThis, replaceWithThis, string1 );

string1.replace( regularExpression, replaceWithThis )

preg_replace( regularExpression, replaceWithThis, string1 );

string1.replace( string1.substring( fromNumIndex, (fromNumIndex+length) ), replaceWithThis )

substr_replace( string1, replaceWithThis, fromNumIndex, length );

string1=string1.replace(/<[^>]*>/g, '');

string1=striptags(string1);

string1.replace( findThis, replaceWithThis )

str_replace( findThis, replaceWithThis, string1 );

string1.replace( regularExpression, replaceWithThis )

preg_replace( regularExpression, replaceWithThis, string1 );

string1.replace( string1.substring( fromNumIndex, (fromNumIndex+length) ), replaceWithThis )

substr_replace( string1, replaceWithThis, fromNumIndex, length );

typeof(array1)=="object"

is_array(array1)

array1.length 배열의 갯수 세기

sizeof(array1);

count(array1);

array1.join(stringJoiner)

implode(stringJoiner, string1);

array1.concat(array2, array3...)

배열의 병합

array_merge(array1, array2, array3...);
array_merge_recursive(array1, array2, array3...);

shift()

array_shift(array1);

unshift()

array_unshift(array1);

pop()

array_pop(array1);

push() 배열끝에 원소를 추가

array_push(array, mixed[,mixed...]);

array1.reverse() 배열의 역순

array_reverse(array1);

array1.slice(startIndex, endIndex)

array_slice( array1, startIndex, (endIndex-startIndex) );

array1.splice(startIndex, length)

array_splice( array1, startIndex, length );

array1.slice(startIndex, (startIndex+length))

array_slice( array1, startIndex, length );

array1.splice(startIndex, length, [item...])

startIndex 다음번 length 만큼 삭제 후 item을 삽입

array_splice( array1, startIndex, length );

array1.sort

sort(array1);

isNaN(number)

is_nan(number);
is_numeric(number);
is_integer(number);
is_double(number);

parseInt(string, [radix])

string을 radix에 해당하는 진수값으로 변환

(integer)string;

parseFloat(string)

(double)string;

Math.max(number1, number2)

max(number1, number2);

Math.min(number1, number2)

min(number1, number2);

(Math.random()*(max-min))+min

mt_rand(min, max);

Math.round(
(Math.random()*(max-min))+min
)

mt_srand((double)microtime()*1000000)

Math.pow(number, power)

pow(number, power);

Math.sqrt(number)

sqrt(number);

Math.sin();

sin();

Math.cos();

cos();

Math.tan();

tan();

Math.asin();

asin();

Math.acos();

acos();

Math.atan();

atan();

Math.PI;

pi();

Math.log(value)

log(value);

typeof(functionName)=="function";

function_exists("functionName");

functionName.arguments.length;

func_num_args();

functionName.arguments;

func_get_args();

functionName.arguments[Number];

func_get_arg(Number)


[원문] http://www.idsu.net/bbs/view.php?wuser_id=study&category_no=&u_no=55&pg=1&sn=&shs=&shn=&shm

2006/09/08 16:01 2006/09/08 16:01
이 글에는 트랙백을 보낼 수 없습니다
웅쓰:웅자의 상상플러스
웅자의 상상플러스
전체 (379)
게임 (5)
영화 (2)
기타 (23)
맛집 (5)
영어 (2)
대수학 (3)
형태소 (5)
Hacking (9)
Linux (112)
HTML (48)
Application_developing (48)
Web_developing (102)
Window (11)
«   2024/11   »
          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 30
  1. 2016/01 (1)
  2. 2015/12 (3)
  3. 2015/10 (3)
  4. 2015/03 (2)
  5. 2015/01 (4)