/**************************************************************************
 fucntion : 공백체크
 input : elem(객체), elemCaption(타이틀)
 ouput : true(공백)
***************************************************************************/

function isEmpty(elem, elemCaption){
 if (elem.value)
  for (index = 0; index < elem.value.length; index++)
  {
   // 공백 문자(13), 수평탭(HT-9), 엔터(CR-13, LF-10)가 아닌게 하나라도 있으면...
   if (elem.value.charCodeAt(index) != 32 && elem.value.charCodeAt(index) != 9
   && elem.value.charCodeAt(index) != 13 && elem.value.charCodeAt(index) != 10)
    return false;
  }
 alert(elemCaption + "을(를) 입력하십시오.");
 elem.focus();
 return true;
}

/***************************************************************************
 fucntion : 문자열 체크
 input : elem(객체), elemCaption(타이틀), lenMin(최소길이), lenMax(최대길이),
     iFlag = 0 : 영문자, 숫자, '_', '-', '.' 만 허용(아이디 등 체크)
     iFlag = 1 : 숫자만 허용
     iFlag = 2 : 한글만 허용
 ouput : true,false
***************************************************************************/
function stringCheck(elem, elemCaption, lenMin, lenMax, iFlag)
{
 if (elem.value == ""){
  alert(elemCaption + "을(를) 입력하십시오");
  elem.focus();
  return false;
 } 
 
 if (elem.value.length < lenMin || elem.value.length > lenMax){
  if(lenMin==lenMax)
   alert(elemCaption + '은(는) ' + lenMin + '자리입니다');
  else
   alert(elemCaption + '은(는) ' + lenMin + '~' + lenMax + '자까지 가능합니다');
   
  elem.focus(); 
  return false;
 }
 
 //iFlag = 0 : 영문자, 숫자, '_', '-', '.' 만 허용(아이디 등 체크)
 if ( eval(iFlag) == 0 ){
  var str=/^[A-Za-z0-9]+$/;  
  if(!str.test(elem.value)){
   alert(elemCaption + ' 입력은 영문, 숫자만 사용할 수 있습니다');
   elem.focus();
   return false;
  }
 } 
 
 //iFlag = 1 : 숫자만 허용
 else if ( eval(iFlag) == 1){
  var str=/^[0-9]+$/;  
  if(!str.test(elem.value)){
   alert(elemCaption + ' 입력은 숫자만 사용할 수 있습니다');
   elem.focus();
   return false;
  }
 } 
 
 //iFlag = 2 : 한글만 허용
 else if( eval(iFlag) == 2){
  var str=/\s/;  
  if(str.test(elem.value)){
    alert(elemCaption + '에는 공백을 사용할 수 없습니다'); 
    elem.focus();
    return false;   
  }
 }
 
 //iFlag = 3 : 숫자, . 만 허용
 else if ( eval(iFlag) == 3){
  var str=/^[0-9.]+$/;  
  if(!str.test(elem.value)){
   alert(elemCaption + ' 입력은 숫자, .만 사용할 수 있습니다');
   elem.focus();
   return false;
  }
 }  
 
 //iFlag = 4 : 영 문
 else if ( eval(iFlag) == 4 ){
  var str=/^[A-Za-z ]+$/;  
  if(!str.test(elem.value)){
   alert(elemCaption + ' 입력은 영문만 사용할 수 있습니다');
   elem.focus();
   return false;
  }
 } 
   /*
  for(i=0; i < elem.value.length; i++){
   if (elem.value.charCodeAt(i) != 32 && (elem.value.charCodeAt(i) < 44032 || elem.value.charCodeAt(i) > 55203)){
    alert(elemCaption + ' 입력은 한글만 사용할 수 있습니다'); 
    elem.focus();
    return false;
   }
  }*/

 
 return true;
}

/***************************************************************************
 fucntion : 윈도우 열기
 input : 
 ouput : 없음
***************************************************************************/
function windowOpen( path, wintitle, iwidth, iheight, itop, ileft){
 window.open(path, wintitle, 'toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=0,width='+iwidth+',height='+iheight+', top='+itop+', left='+ileft+'');
}

function selectSelected(ctl, val){
 for (var i=0; i<ctl.length; i++){
  if (ctl.options[i].value == val){
   ctl.selectedIndex = i;
   break;
  }
 }
}

function checkEmail(elem){
 if ( elem == null || elem.value == "" ) return;
 var str=/^(\w+(?:\.\w+)*)@((?:\w+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
 if ( !str.test(elem.value) )
 {
  alert("E-mail 주소 형식이 올바르지 않습니다.");
  elem.focus();
  return false;
 }
 return true;
}


//숫자만
function onlyNumber()
{
 if((event.keyCode<48)||(event.keyCode>57))
      event.returnValue=false;
}

function AjaxRequest(strResponseURL,fSuccess, fError)
{
 var httpObj = new Ajax.Request
 (
  strResponseURL,
  {
    method:'post',
      parameters:Form.serialize('frm'),   
      onSuccess:fSuccess,
      onFailure:fError
  }
 );
}

function displayError(){
 alert("AjaxRequest() ERROR");
}
  
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function bluring(){
 if(event.srcElement.tagName=="A"||event.srcElement.tagName=="IMG") document.body.focus();
}

 

/**************************************************************************
 fucntion : 날짜형식 체크
 input : elem(객체), elemCaption(타이틀)
 ouput : true(YYYY-MM-DD)
***************************************************************************/

function FormatDate(elem, elemCaption){
 var day = elem.value;
 var dateArr =  day.split("-");
 var str=/^[0-9]+$/;

 if (dateArr.length != 3){
  alert(elemCaption + "의 날짜 형식이 올바르지 않습니다.(YYYY-MM-DD)");
  elem.focus();
  return false;
 }
 
 for(var i = 0 ; i < dateArr.length ; i++){
  if(!str.test(dateArr[i])){
   alert(elemCaption + "의 날짜 형식이 올바르지 않습니다.(YYYY-MM-DD)");
   elem.focus();
   return false;
  }
 }
 
 if (dateArr[0].length != 4){
  alert(elemCaption + "의 연도의 형식(YYYY)이 올바르지 않습니다.");  
  elem.focus();
  return false;
 }
 
 if (dateArr[1].length != 2){
  alert(elemCaption + "의 월의 형식(MM)이 올바르지 않습니다.");  
  elem.focus();
  return false;
 } 

 if ((Number(dateArr[1]) < 1) || (Number(dateArr[1]) > 12)){
  alert(elemCaption + "의 월을 1~12 사이로 입력하십시오.");  
  elem.focus();
  return false;
 }  
 
 if (dateArr[2].length != 2){
  alert(elemCaption + "의 일의 형식(DD)이 올바르지 않습니다.");  
  elem.focus();
  return false;
 }  
 
 if ((Number(dateArr[2]) < 1) || (Number(dateArr[2]) > 32)){
  alert(elemCaption + "의 일을 1~31 사이로 입력하십시오.");  
  elem.focus();
  return false;
 } 
  
 return true;
 
}

/*********************************
설명 : 날짜 차이
*********************************/

function DATEDIFF(date1, date2){
 var v1=date1.split("-");
 var v2=date2.split("-");
 
  var a1=new Date(v1[0],v1[1],v1[2]).getTime();
  var a2=new Date(v2[0],v2[1],v2[2]).getTime();

 return (a2 - a1) /(1000*60*60*24);
}

/*********************************
설명 : 포커스 이동
*********************************/

function NextFocus(obj1, obj2, len){
 if (obj1.value.length == len){
  obj2.focus();
 }
}

/*********************************
설명 :
*********************************/

function AjaxRequest(strResponseURL,fSuccess, fError, frm)
{
 var httpObj = new Ajax.Request
 (
  strResponseURL,
  {
    method:'post',
      parameters:Form.serialize(frm),   
      onSuccess:fSuccess,
      onFailure:fError
  }
 );


Posted by 회사원Z
:

카테고리

More More* (98)
iPHONE* (7)
Power Builder* (31)
HTML5* (2)
CSS3* (1)
jQuery & JavaScript* (17)
ASP* (20)
MSSQL* (10)
ETC* (10)

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

달력

«   2025/05   »
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 31

글 보관함