/*-------------------------------------------------------------------------------*/
/*
한글의 경우 키 입력시 바로바로 작업이 안되기 때문에
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();
}
}