check_inputbox.js

by 조쉬 posted Mar 01, 2014
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄
/*-------------------------------------------------------------------------------*/
/*
한글의 경우 키 입력시 바로바로 작업이 안되기 때문에
onchange 와 onblur 등 이벤트도 같이 등록.
*/
 // 한글만 입력받기 (초성체 무시) 
// 나머지 글자 무시 
function nr_han(this_s,type){ 
    /* 
    type 
    -> 'c' : 초성 포함 
    -> 's' : 초성 포함 + 공백 포함 
    -> '' : 초성, 공백 무시 
    */ 
    temp_value = this_s.value.toString(); 
    regexp = ''; 
    repexp = ''; 
    switch(type){ 
        case 'c': regexp = /[^ㄱ-ㅎ가-�R]/g;break; 
        case 's': regexp = /[^ㄱ-ㅎ가-�R\s]/g;break; 
        case '':    regexp = /[^가-�R]/g; break; 
        default : regexp = /[^ㄱ-ㅎ가-�R\s]/g; 
    } 
    if(regexp.test(temp_value)) 
    { 
        temp_value = temp_value.replace(regexp,repexp); 
        this_s.value = temp_value; 
    } 
} 
  
 /*-------------------------------------------------------------------------------*/
 // 한글만 입력받기 (초성체 포함)
// 나머지 글자 무시 
function nr_han_cho(this_s){
 nr_han(this_s,'c');
}
 /*-------------------------------------------------------------------------------*/
 // 한글만 입력받기 (초성체 포함, 공백 포함)
// 나머지 글자 무시
function nr_han_cho_space(this_s){
 nr_han(this_s,'s');
}

/*-------------------------------------------------------------------------------*/
function nr_numeng(this_s){
 temp_value = this_s.value.toString();
 regexp = /[^0-9a-zA-Z]/g;
 repexp = '';
 temp_value = temp_value.replace(regexp,repexp);
 this_s.value = temp_value;
}
 /*-------------------------------------------------------------------------------*/
// 나머지 글자 무시
function nr_num(this_s,type){
 /*
 type
 -> 'int' : 양의 정수
 -> 'float' : 양의 실수
 -> '-int' : 음의 정수 포함
 -> '-int' : 음의 실수 포함
 */
 temp_value = this_s.value.toString();
 regexp = /[^-\.0-9]/g;
 repexp = '';
 temp_value = temp_value.replace(regexp,repexp);
 regexp = '';
 repexp = '';
 switch(type){
  case 'int':  regexp = /[^0-9]/g; break;
  case 'float':regexp = /^(-?)([0-9]*)(\.?)([^0-9]*)([0-9]*)([^0-9]*)/; break;
  case '-int': regexp = /^(-?)([0-9]*)([^0-9]*)([0-9]*)([^0-9]*)/;break;
  case '-float':regexp = /^(-?)([0-9]*)(\.?)([^0-9]*)([0-9]*)([^0-9]*)/; break;
  default : regexp = /[^0-9]/g; break;
 }
 switch(type){
  case 'int':repexp = '';break;
  case 'float':repexp = '$2$3$5';break;
  case '-int': repexp = '$1$2$4';break;
  case '-float':repexp = '$1$2$3$5'; break;
  default : regexp = /[^0-9]/g; break;
 }
 temp_value = temp_value.replace(regexp,repexp);
 this_s.value = temp_value;
}
// 양의 정수만 입력받기
function nr_num_int(this_s){
 nr_num(this_s,'int');
}
// 양의 실수만 입력받기
function nr_num_float(this_s){
 nr_num(this_s,'float');
}
 /*-------------------------------------------------------------------------------*/
 // 영어만 입력받기  (대소문자)
// 나머지 글자 무시
function nr_eng(this_s,type){
 temp_value = this_s.value.toString();
 regexp = '';
 repexp = '';
 switch(type){
  case 'small':regexp = /[^a-z]/g;break;
  case 'big':regexp = /[^A-Z]/g;break;
  case 'all':regexp = /[^a-z]/i;break;
  default :regexp = /[^a-z]/i;break;
 }
 temp_value = temp_value.replace(regexp,repexp);
 this_s.value = temp_value;
}
 // 영어만 입력받기  (소문자)
// 나머지 글자 무시
function nr_eng_small(this_s){
 nr_eng(this_s,'small');
}
 // 영어만 입력받기  (대문자)
// 나머지 글자 무시
function nr_eng_big(this_s){
 nr_eng(this_s,'big');
}
 /*-------------------------------------------------------------------------------*/

// 주민등록 번호 규격에 맞게 123456-1234567  //검증하지 않음.
// 나머지 글자 무시
function nr_jumin(this_s){
 temp_value = this_s.value.toString();
 temp_value = temp_value.replace(/[^0-9]/g,'');
 temp_value = temp_value.substr(0,13);
 temp_value = temp_value.replace(/([0-9]{6})([0-9]{7}$)/,"$1-$2");
 this_s.value = temp_value;
}
  
 /*-------------------------------------------------------------------------------*/
 // 사업자 등록 번호 규격에 맞게 123-12-12345  //검증하지 않음.
// 나머지 글자 무시
function nr_company_num(this_s){
 temp_value = this_s.value.toString();
 temp_value = temp_value.replace(/[^0-9]/g,'');
 temp_value = temp_value.substr(0,10);
 temp_value = temp_value.replace(/([0-9]{3})([0-9]{2})([0-9]{5}$)/,"$1-$2-$3");
 this_s.value = temp_value;
}
 /*-------------------------------------------------------------------------------*/
 /*
 * 숫자와 - 만 사용가능
 */
function  nr_hyphen_num(this_s){
 temp_value = this_s.value.toString();
 temp_value = temp_value.replace(/[^0-9^-]/g,'');
 this_s.value = temp_value;
}
 function  nr_tel_num(this_s){
 temp_value = this_s.value.toString();
 temp_value = temp_value.replace(/[^0-9^-]/g,'');
 this_s.value = temp_value;
}
/*
// 관리자 번호 앞에 9자리 삭제
function nr_Adminno_Cut(adminno)
{
 if(adminno.length != 19)
  return adminno
  adminno = adminno.substr(9, 10);
 
 return adminno;
}
*/
 // 관리자 번호 앞에 9자리 삭제
function nr_Adminno_Cut(adminno)
{
 if(adminno.length != 20)
  return adminno
  adminno = adminno.substr(9, 10);
 
 return adminno;
}
 /*
// 날짜에 - 추가
function nr_Date_Paste(date)
{
 if(date.length != 8)
  return date;
  date = date.substr(0, 4) + "-" + date.substr(4, 2) + "-" + date.substr(6, 2);
 
 return date;
}
*/
 // 날짜에 - 삭제
function nr_Date_Cut(date)
{
 if(adminno.length != 8)
  return date
  date = date.substr(0, 4) + "-" + date.substr(5, 2) + "-" + date.substr(7, 2);
 
 return date;
}

// 날짜에 - 삭제
function nr_Date_Cut(date)
{
 if(date.length != 10)
  return date;
  date = date.substr(0, 4) + date.substr(5, 2) + date.substr(8, 2);
 
 return date;
}

// ,추가
function comma_paste(this_s)
{
 fvalue = this_s.value.toString();
 
    fvaluenum = fvalue.length; 
    
    if(fvaluenum>3){
        comma=Math.ceil(fvaluenum/3)-1;
        substart = 0;
         for(x=comma; x>=0; x--){
            sublast = fvaluenum-(x*3);
  
            val=fvalue.substring(substart, sublast);
            substart = sublast;
             if(x==comma) vall = val + ',';
            else if(x==0) vall = vall + val;
            else vall = vall + val + ',';
        }
        
        this_s.value = vall;
    }
    else 
    {
        this_s.value = fvalue;
    }
}
 // , 제거함수
function comma_cut(this_s)
{
 restring = this_s.value.toString();
 
    if(restring.search(',')){
        exp=restring.split(',');
        for(t=0 ; ; t++){
            if(!exp[t]) break;

            if(t==0){
                restring = exp[t];
            } else {
                restring = restring + exp[t];
            }
        }
    }
    
    this_s.value = restring;
}

// 정해진 숫자 길이를 넘기면 다음포커스로 이동
function count_check(this_s, this_e, cnt)
{
 nr_num_int(this_s);
 
 restring = this_s.value.toString();
 
 if(restring.length >= cnt)
 {
  this_e.focus();
 }
}