sub_title
 Javascript
제   목 각종함수모음
작성자 웹돌이 등록일 2007-10-09 20:45:27 조회수 4,945
 /*******************************************************************************
* 폼 유효성 검사에 사용되는 패턴 정의
*******************************************************************************/
var patterns = new Array();

patterns["num"]  = /^[0-9]+$/;
patterns["han"]  = /^[가-힁]+$/;
patterns["eng"]  = /^[a-zA-Z]+$/;

patterns["eng_num"] = /^[0-9a-zA-Z]+$/;

patterns["email"] = /^[_a-zA-Z0-9-]+@[._a-zA-Z0-9-]+.[a-zA-Z]+$/;
patterns["url"]  = /^[.a-zA-Z0-9-]+.[a-zA-Z]+$/;

patterns["img"]  = /.+(.jpg|.gif|.bmp|.png|.jpeg)+$/gi;

/*******************************************************************************
* 이미지 체크
*******************************************************************************/
function isImg(str)
{
 if(str.match(patterns["img"]))
  return true;
 else
  return false;
}

/*******************************************************************************
* 숫자 체크
*******************************************************************************/
function isNum(str)
{
 if(str.match(patterns["num"]))
  return true;
 else
  return false;
}

/*******************************************************************************
* 한글 체크
*******************************************************************************/
function isHan(str)
{
 if(str.match(patterns["han"]))
  return true;
 else
  return false;
}

/*******************************************************************************
* 영문 체크
*******************************************************************************/
function isEng(str)
{
 if(str.match(patterns["eng"]))
  return true;
 else
  return false;
}

/*******************************************************************************
* 영문숫자 체크
*******************************************************************************/
function isEngNum(str)
{
 if(str.match(patterns["eng_num"]))
  return true;
 else
  return false;
}

/*******************************************************************************
* 메일 체크
*******************************************************************************/
function isEmail(str)
{
 if(str.match(patterns["email"]))
  return true;
 else
  return false;
}

/*******************************************************************************
* URL 체크
*******************************************************************************/
function isUrl(str)
{
 if(str.match(patterns["url"]))
  return true;
 else
  return false;
}

/*******************************************************************************
* 공백인지
*******************************************************************************/
function isEmpty(str)
{
 if(getLength(trim(str)) <= 0)
  return true;
 else
  return false;
}

/*******************************************************************************
* 공백제거
*******************************************************************************/
function trim(str)
{
 return str.replace(/^s+|s+$/g, "");
}

/*******************************************************************************
* 숫자만 가능
*******************************************************************************/
function delChar(obj)
{
 obj.value = obj.value.replace(/[^0-9]+/g, "");
}

/*******************************************************************************
* 체크박스 선택
*******************************************************************************/
var checkall_flag = false;

function checkAll(form, obj_name)
{
 var length = form.elements.length;

 for (var i = 0; i < length; i++)
 {
  if(form.elements[i].name == obj_name)
   form.elements[i].checked = !checkall_flag;
 }

 checkall_flag = !checkall_flag;
}

function checkEx(form, obj_name)
{
 var length = form.elements.length;

 for (var i = 0; i < length; i++)
 {
  if(form.elements[i].name == obj_name)
   form.elements[i].checked = !form.elements[i].checked;
 }
}


/*******************************************************************************
* 체크박스 선택되어 있는지
*******************************************************************************/
function isChecked(form, obj_name)
{
 var is_checked_flag = false;
 var length = form.elements.length;

 for (var i = 0; i < length; i++)
 {
  if(form.elements[i].name == obj_name && form.elements[i].checked == true)
  {
   is_checked_flag = true;
   break;
  }
 }

 return is_checked_flag;
}

/*******************************************************************************
* 메세지 박스 초기화
*******************************************************************************/
function checkMsg(obj)
{
 if(trim(obj.value) == "여기에 메세지를 입력하세요.")
 {
  obj.value = "";           
 }
}

/*******************************************************************************
* 바이트 체크 80bytes 이상
*******************************************************************************/
function checkBytes(form)
{
 var page = 0;
 var body_length = getLength(form.body.value);
 
 form.bytes.value = body_length;
 
 if(body_length)
  page = parseInt(body_length / 80);

 if(body_length % 80)
  page += 1;

 if(typeof(form.page) != "undefined")
  form.page.value = page;
}

/*******************************************************************************
* 바이트 체크 80bytes 까지
*******************************************************************************/
function checkBytes2(form, max_length)
{
 var page = 0;
 var body_length = getLength(form.body.value);
 
 if(body_length > max_length)
 {
  alert(max_length + "bytes 이상 입력할 수 없습니다.");
  form.body.value = stringCut(form.body.value, max_length);
  body_length  = getLength(form.body.value);
 }

 if(body_length)
  page = parseInt(body_length / 80);

 if(body_length % 80)
  page += 1;

 if(typeof(form.page) != "undefined")
  form.page.value = page;

 form.bytes.value = body_length;
}


/*******************************************************************************
* 문자열 자르기
*******************************************************************************/
function stringCut(str, max_length)
{
 var str, msg;
 var length = 0;
 var tmp;
 var count = 0;
 
 length = str.length;

 for(var i = 0; i < length; i++)
 {
  tmp = str.charAt(i);
 
  if(escape(tmp).length > 4)
   count += 2;
  else
   if(escape(tmp) != "%0D")
    count++;

  if(count > max_length)
   break;  
 }
 
 return str.substring(0, i);
}

/*******************************************************************************
* 문자열 길이를 리턴한다.
*******************************************************************************/
function getLength(str)
{
 var length = 0;

 for(var i = 0; i < str.length; i++)
 {
  if(escape(str.charAt(i)).length >= 4)
   length += 2;
  else
   if(escape(str.charAt(i)) != "%0D")
    length++;
 } 

 return length;
}

/*******************************************************************************
* 쿠키값 리턴
*
* name - 쿠키명
*******************************************************************************/
function getCookie(name)
{
 var label = name + "=";
 var label_len = label.length;
 var cookie_len = document.cookie.length;
 var i = 0;

 while (i < cookie_len)
 {
  var j = i + label_len;

  if (document.cookie.substring(i, j) == label)
  {
   var cookie_end = document.cookie.indexOf(";", j);
   if (cookie_end == -1)
    cookie_end = document.cookie.length;
  
   return unescape(document.cookie.substring(j, cookie_end));
  }
  i++;
 }
 return "";
}

/*******************************************************************************
* 쿠키설정
*
* name   - 쿠키명
* value   - 값
* expiredays - 시간 (일단위)
*******************************************************************************/
function setCookie( name, value, expiredays )
{
 var today = new Date();
 today.setDate( today.getDate() + expiredays );
 document.cookie = name + "=" + escape( value ) + "; path=/; expires=" + today.toGMTString() + ";";
}

 
0
    
 
0
        list
 
※ 짧은 댓글일수록 예의를 갖추어 작성해 주시기 바랍니다.
line
reply cancel
 
번호 제목 글쓴이 추천 조회 날짜
36  자바 스크립트를 이용한 Base64 인코딩, 디코딩 하는 프로그램 예제 파일   member 아침마당 10 / 1 5058 2010-09-07
35  [프린트] 웹페이지의 선택된 영역만 인쇄하기   member 억새풀 0 / 0 10412 2008-02-28
34  자바스크립트에서 파일용량 체크하기   member 억새풀 1 / 0 5527 2008-01-09
33  [HTML] 폼에대한 142가지의 다양한 js 소스   member 웹스톤 1 / 1 6360 2008-01-05
32  자바스크립트 기초(3)   member 웹돌이 0 / 0 7408 2007-12-11
31  자바스크립트 기초(2)   member 웹돌이 2 / 0 6243 2007-12-11
30  자바스크립트 기초(1)   member 웹돌이 2 / 0 9936 2007-12-11
29  [미디어] 배경음악 제어하기   member 오렌지 1 / 0 4254 2007-12-01
28  [form] 텍스트 박스에 자리수 차면 커서 이동시키기   member 다자래 0 / 0 7578 2007-12-01
27  텍스트박스에 영문 대소문자 변환하기..   member 파도 0 / 0 3640 2007-11-30
26  [창과문서] 오른쪽 마우스 사용 못하게 하기   member 웹스톤 0 / 0 4017 2007-11-27
25  [Window] 팝업창에 Post 방식으로 값 넘기기   member 다자래 4 / 1 52775 2007-11-21
24  [Document] 페이지 위치를 알아내기!   member 오렌지 0 / 0 3985 2007-11-21
23  [함수] 자주사용되는 함수들   member 오렌지 0 / 0 4481 2007-11-21
22  [Document] 태그연습장   member 오렌지 0 / 0 7056 2007-11-21
21  [출력] 원하는 부분만 인쇄하기   member 웹스톤 0 / 1 5960 2007-11-20
20  [FORMS] 포인트 추가/감소 태크   member 오렌지 0 / 0 4047 2007-11-20
19  [Window] 공지창 하루에 한번띄우기 첨부파일   member 오렌지 1 / 0 7596 2007-11-20
18  [창과문서] input 박스에 중복 값을 찾아내는 스크립트   member 웹스톤 0 / 0 12335 2007-11-17
17  각종함수모음   member 웹돌이 0 / 0 4945 2007-10-09
16  ESC 누르면 닫히는 팝업창!   member 웹돌이 0 / 0 4475 2007-09-21
15  [창과문서] 문서를 열 때마다 전혀 다른 문서처럼 보이게 하기 이미지   member 웹스톤 0 / 0 5466 2007-09-20
14  [창과문서] 화면 해상도 보여주기   member 웹스톤 0 / 0 4012 2007-09-19
13  썸네일 플러스 이미지업로드 추가   member 웹돌이 0 / 0 4238 2007-09-18
12  multiple select에 추가하는 예제   member 컴퓨터존 0 / 0 4805 2007-09-12
write
[2] button