- 출처 : http://webprogrammer.tistory.com/1194 -
//var _intValue = '0123456789';
//var _upperValue = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
//var _lowerValue = 'abcdefghijklmnopqrstuvwxyz';
//var _etcValue = '~`!@#$%%^&*()-_=+\|[{]};:\'\",<.>/?';
//var dayOfMonth = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
n = (document.layers) ? 1:0;
ie = (document.all) ? 1:0;
if (n) document.captureEvents(Event.KEYPRESS);
function fnTest(pval) {
fnTest = doReverse(pval.value) ;
alert (fnTest);
}
// -------------------------------------------------------------------
// Function name: isInt
// Description : 숫자인가를 체크하는 함수
// Parameter : value(체크대상 문자)
// -------------------------------------------------------------------
// Usage : var a='3'; if(isInt(a)) { alert("숫자입니다"); }
// -------------------------------------------------------------------
function isInt(value) {
var _intValue = '0123456789';
var j;
for(j=0;j<_intValue.length;j++)
if(value == _intValue.charAt(j)) {
return true;
}
return false;
}
// --------------------------------------------------------------------
// Function name: isNumeric
// Description : 숫자로만 구성되어 있는지를 검사
// Parameter : obj(화면컨트롤)
// --------------------------------------------------------------------
// Usage : <input type="text" onBlur="isNumeric(this)">
// Caution : 화면컨트롤에 데이타가 없는 경우에는 false를 리턴
// --------------------------------------------------------------------
function isNumeric(obj) {
var str=obj.value;
if (str.length == 0)
return false;
for (var i = 0; i < str.length; i++){
var ch = str.substring(i, i + 1);
if ((ch < "0" || "9" < ch) ){
obj.focus();
obj.select();
return false;
}
}
return true;
}
// ---------------------------------------------------------------------
// Function name : isNumber(str)
// Description : 숫자로만 구성되어 있는지를 검사, 숫자이면 return true
// Parameter : str(측정대상값)
// ----------------------------------------------------------------------
// Usage : if(isNumber(str)) { alert("숫자입니다.."); },
// Caution : isNumeric(obj)과 다른점은 obj가 아닌 value값 사용
// ----------------------------------------------------------------------
function isNumber(value) {
var result = true;
for(j = 0; result && (j < value.length); j++) {
if((value.substring(j, j+1) < "0") || (value.substring(j, j+1) > "9")) {
result = false;
}
}
return result;
}
// ---------------------------------------------------------------------
// Function name: getNumOnly
// Description : 숫자와 문자열이 혼합되어 있는 것에서 숫자만 리턴
// Parameter : obj(검사대상 문자열)
// ---------------------------------------------------------------------
// Usage : <input type="text" onBlur="getNumOnly(this);">
// 검사대상 문자열이 '1134sd3dkk8'일 경우 '113438'만 리턴
// ---------------------------------------------------------------------
function getNumOnly(obj) {
var strNew = "";
var chkstr = "0123456789";
var str = obj.value;
for (var i = 0; i < str.length; i++) {
if (chkstr.indexOf(str.substring(i, i + 1)) >= 0) {
strNew += str.substring(i, i + 1);
}
}
return strNew;
}
// ---------------------------------------------------------------
// Function name : isFloat(str)
// Description : 숫자값인지 체크, '.' 포함
// Parameter : str(측정대상값)
// ---------------------------------------------------------------
// Usage : if(isFloat(str)) { alert("Float값입니다."); }
// ---------------------------------------------------------------
function isFloat(value) {
var count = 0;
var ch;
for(i=0; i<value.length; i++) {
ch = value.charAt(i);
if(isNaN(ch)) {
if(ch == ".") {
count++;
} else {
return false;
}
}
}
if(count > 1) {
return false;
} else {
return true;
}
return result;
}
// -------------------------------------------------------------------
// Function name : getOnlyNumberKey()
// Description : 키보드 입력시 숫자만 입력 가능
// Parameter :
// -------------------------------------------------------------------
// Usage : onKeyDown=getOnlyNumberKey()
// -------------------------------------------------------------------
function getOnlyNumberKey() {
if ((event.keyCode >=48 && event.keyCode <=57) // 자판 0~9
|| (event.keyCode >=96 && event.keyCode <= 105) // keypad 0~9
|| (event.keyCode == 109) // 자판 -
|| (event.keyCode == 189) // keypad -
|| (event.keyCode == 8) // back space
|| (event.keyCode == 9) // tab
|| (event.keyCode == 13) // enter
|| (event.keyCode == 46) // delete
|| (event.keyCode >= 37 && event.keyCode <= 40)) // 방향키
{
return true;
} else {
event.returnValue = false;
}
}
// ---------------------------------------------------------------------
// Function name : getNumberNCommaKey()
// Description : 키보드 입력시 숫자 및 ','가 입력 가능
// Parameter :
// ---------------------------------------------------------------------
// Usage : onKeyDown=getNumberNCommaKey()
// ---------------------------------------------------------------------
function getNumberNCommaKey() {
if ((event.keyCode >=48 && event.keyCode <=57) // 자판 0~9
|| (event.keyCode >=96 && event.keyCode <= 105) // keypad 0~9
|| (event.keyCode == 109) // 자판 -
|| (event.keyCode == 189) // keypad -
|| (event.keyCode == 188) // 자판 ,
|| (event.keyCode == 8) // back space
|| (event.keyCode == 9) // tab
|| (event.keyCode == 13) // enter
|| (event.keyCode == 46) // delete
|| (event.keyCode >= 37 && event.keyCode <= 40)) // 방향키
{
return true;
} else {
event.returnValue = false;
}
}
// ----------------------------------------------------------------------
// Function name : getNumberNDotKey()
// Description : 키보드 입력시 숫자 및 '.'가 입력 가능
// Parameter :
// ----------------------------------------------------------------------
// Usage : onKeyDown=getNumberNDotKey()
// ----------------------------------------------------------------------
function getNumberNDotKey() {
if ((event.keyCode >=48 && event.keyCode <=57) // 자판 0~9
|| (event.keyCode >=96 && event.keyCode <= 105) // keypad 0~9
|| (event.keyCode == 109) // 자판 -
|| (event.keyCode == 189) // keypad -
|| (event.keyCode == 110) // 자판 .
|| (event.keyCode == 190) // keypad .
|| (event.keyCode == 8) // back space
|| (event.keyCode == 9) // tab
|| (event.keyCode == 13) // enter
|| (event.keyCode == 46) // delete
|| (event.keyCode >= 37 && event.keyCode <= 40)) // 방향키
{
return true;
} else {
event.returnValue = false;
}
}
// --------------------------------------------------------------------
// Function name : isDigitOrBar(str)
// Description : '-' 기호를 포함한 숫자여부 판단, 숫자면 return true
// Parameter : str(대상 문자열)
// --------------------------------------------------------------------
// Usage : isDigitOrBar(str), 부호의 선행, 후행은 체크 못함
// --------------------------------------------------------------------
function isDigitOrBar(str) {
for(var i=0; i < str.length; i++) {
var ch= str.charAt(i) ;
if((ch < "0" || ch > "9") && ch!="-") {
return false;
}
}
return true;
}
//---------------------------------------------------------------------
// Function name : getFormattedVal
// Description : 숫자를 포멧이 갖추어진 문자열로 바꿈
// ###3 <= 숫자3은 세자리마다 ,를 찍겠다는 말
// .##### <= .(소수점)뒤로 5자리까지 표현하겠다는 말
// Parameter : value : 검사할 값
// format : 변환할 형태
// Return : 변환된 값 리턴
// --------------------------------------------------------------------
// Usage : getFormattedVal(value , "###3.#####")
//---------------------------------------------------------------------
function getFormattedVal(value,format) {
value = ""+value;
if(!format)
return value;
var sp = parseInt(format.charAt(3));
if(!sp)
return value;
var pos = 0;
var ret = "";
var vSplit = value.split('.');
var fSplit = format.split('.');
var fp = fSplit[1];
var fv = vSplit[1];
var lv = vSplit[0];
var len = lv.length;
for(var i = len % sp; i < len; i += sp){
if(i == 0 || lv.charAt(i-1) == '-')
ret += lv.substring(pos,i);
else
ret += lv.substring(pos,i)+',';
pos = i;
}
ret += lv.substring(pos,len);
if(!fv)
fv = "";
if(!fp)
fp = "";
var len1 = fp.length;
var len2 = fv.length;
if(len1)
ret += '.' + fv.substring(0,len1) + fp.substring(len1,len2);
return ret;
}
//-------------------------------------------------------------------
// Function name : changeInt2Han
// Description : 숫자 -> 한글로 변환
// Parameter : string : 변환 할 값
// Return : 변환된 값 리턴 / 123 -> 일백이십삼
// -------------------------------------------------------------------
// Usage : changeInt2Han(string)
//--------------------------------------------------------------------
function changeInt2Han(string) {
hn = new Array("영","일","이","삼","사","오","육","칠","팔","구");
hj = new Array("","만","억","조","경","해");
ul = new Array("영천","영백","영십","영");
tm = new Array();
result = "";
if (string.charAt(0)=="-") {
result = "마이너스 ";
string = string.substr(1,string.length-1);
}
loop_size = Math.ceil(string.length/4);
string2 = "";
for (count=string.length; count >= 0; count--)
string2 += string.substring(count,count-1);
string = string2;
for (A=0;A<loop_size;A++) {
sum = hj[A] + " ";
tm[A] = string.substr(A*4,4);
tm2 = "";
for (count=tm[A].length; count >= 0; count--)
tm2 += tm[A].substring(count,count-1);
tm[A] = tm2;
part_jari = tm[A].length;
for (D=0;D<10;D++) {
for (B=0;B<10;B++) tm[A] = tm[A].replace(B,hn[B]);
}
if (part_jari == 4) tm[A] = tm[A].charAt(0)+"천"+tm[A].charAt(1)+"백"+tm[A].charAt(2)+"십"+tm[A].charAt(3);
else if (part_jari == 3) tm[A] = tm[A].charAt(0)+"백"+tm[A].charAt(1)+"십"+tm[A].charAt(2);
else if (part_jari == 2) tm[A] = tm[A].charAt(0)+"십"+tm[A].charAt(1);
else tm[A] = tm[A].charAt(0);
for (C=0;C<4;C++) {
if (tm[A].match(ul[C])) {
part_jari--; tm[A] = tm[A].replace(ul[C],"");
}
}
if (part_jari != 0) tm[A] += sum;
}
for (loop_size;loop_size>-1;loop_size--)
result += tm[loop_size];
result = result.replace("undefined","");
return result;
}
//-----------------------------------------------------------------------
// Function name : changeInt2HanJa
// Description : 숫자 -> 한자로 변환
// Parameter : string : 변환 할 값
// Return : 변환된 값 리턴 / 일백이십삼 -> 壹百貳拾參
// ----------------------------------------------------------------------
// Usage : changeInt2HanJa(string)
//-----------------------------------------------------------------------
function changeInt2HanJa(string) {
hn = new Array("영","壹","貳","參","四","五","六","七","八","九");
hj = new Array("","萬","億","兆");
ul = new Array("영千","영百","영拾","영");
tm = new Array();
result = "";
if (string.charAt(0)=="-") {
result = "마이너스 ";
string = string.substr(1,string.length-1);
}
loop_size = Math.ceil(string.length/4);
string2 = "";
for (count=string.length; count >= 0; count--)
string2 += string.substring(count,count-1);
string = string2;
for (A=0;A<loop_size;A++) {
sum = hj[A] + " ";
tm[A] = string.substr(A*4,4);
tm2 = "";
for (count=tm[A].length; count >= 0; count--)
tm2 += tm[A].substring(count,count-1);
tm[A] = tm2;
part_jari = tm[A].length;
for (D=0;D<10;D++) {
for (B=0;B<10;B++) tm[A] = tm[A].replace(B,hn[B]);
}
if (part_jari == 4) tm[A] = tm[A].charAt(0)+"千"+tm[A].charAt(1)+"百"+tm[A].charAt(2)+"拾"+tm[A].charAt(3);
else if (part_jari == 3) tm[A] = tm[A].charAt(0)+"百"+tm[A].charAt(1)+"拾"+tm[A].charAt(2);
else if (part_jari == 2) tm[A] = tm[A].charAt(0)+"拾"+tm[A].charAt(1);
else tm[A] = tm[A].charAt(0);
for (C=0;C<4;C++) {
if (tm[A].match(ul[C])) {
part_jari--; tm[A] = tm[A].replace(ul[C],"");
}
}
if (part_jari != 0) tm[A] += sum;
}
for (loop_size;loop_size>-1;loop_size--) result += tm[loop_size];
result = result.replace("undefined","");
return result;
}
//-----------------------------------------------------------------------------
// Function name : isFraction
// Description : 입력된 문자가 숫자, 분수(1/3,2/5..)인가를 체크하는 함수
// Parameter : obj(입력 컨트롤명)
// ----------------------------------------------------------------------------
// Usage : 사용자가 텍스트박스에 숫자값으로만 입력되어야 할 경우 이를
// 검증하기 위해서 아래와 같이 사용
// <input type="text" onBlur="isFraction(this)">
//-----------------------------------------------------------------------------
function isFraction(obj) {
var i,j;
var str = new String(obj.value);
var check_slash = 0;
if ((str == '')||(str.length == 0))
return true;
for(i=0;i< str.length;i++) {
if(!isInt(str.charAt(i))) {
if(str.charAt(i) != '/') {
alert('정수 또는 분수만 입력가능합니다.');
obj.focus();
obj.select();
return false;
} else {
check_slash++;
if (i==0) {
alert('정수 또는 분수만 입력가능합니다.');
obj.focus();
obj.select();
return false;
}
}
}
}
j = i -1;
if (str.charAt(j) == '/' || check_slash > 1) {
alert('정수 또는 분수만 입력가능합니다.');
obj.focus();
return false;
}
return true;
}
//---------------------------------------------------------------------------------------
// Function name : checkDigitBody2
// Description : 숫자 혹은 구분자('-', '.' 등)로만 구성되어 있는지를 검사
// Parameter : obj(화면컨트롤), sep(구분자)
// --------------------------------------------------------------------------------------
// Usage : <input type="text" onBlur="checkDigitBody2(this, '-')">
// Caution : 화면컨트롤에 데이타가 없는 경우에는 false를 리턴
// --------------------------------------------------------------------------------------
function checkDigitBody2(obj, sep) {
var str=obj.value;
if (str.length == 0)
return false;
for (var i = 0; i < str.length; i++) {
var ch = str.substring(i, i + 1);
if ((ch < "0" || "9" < ch)) {
if (ch != sep)
return false;
}
}
return true;
}
//---------------------------------------------------------------------------------------
// Function name : getNumberOnly
// Description : 실수,정수,금액 유효성 체크 및 허용하지 않는 문자는 경고 없이 자동 삭제
// Parameter : 필수 : obj(입력 컨트롤명), cmd(숫자 유형)
//---------------------------------------------------------------------------------------
// Usage : <input name="num1"type="text" onkeyup= "getNumberOnly(this, 'money')" ...>
// Caution : 일반적으로 다른 function에서 내부적 호출로 쓰임
//---------------------------------------------------------------------------------------
function getNumberOnly(obj, cmd) {
var instr = obj.value;
var cstr = "";
var tempstr = "";
if(cmd == "real") {
cstr = "0123456789.-"; //실수
} else if(cmd == "real2") {
cstr = "0123456789."; //양의실수
} else if(cmd=="int") {
cstr="0123456789-"; //정수
} else if(cmd=="money") {
cstr="0123456789,"; //금액
} else if(cmd == "real3") {
cstr = "0123456789.-,"; //실수 : , 포함
} else if(cmd=='numeric') {
cstr = "0123456789"; //숫자
}
//거꾸로 돌려야 함
if(instr.length) {
var len = instr.length;
for(var i=len-1; i>=0; i--) {
if(cstr.lastIndexOf(instr.charAt(i)) == -1) {
instr = instr.substring(0, i)+ instr.substring(i+1);
obj.value = instr;
}
}
}
}
// --------------------------------------------------------------------------------------------
// Function name : addCommaStr
// Description : 입력창에 숫자 데이터를 입력할때 자동으로 3자리별로 ',' 가 붙어 입력되게함
// Parameter : str(문자열(숫자))
// --------------------------------------------------------------------------------------------
// Usage :
// Caution : 이 함수를 사용할때 Input 박스 값이 숫자 값인지 체크할 때는 쉼표를 자동으로
// 체크하여 숫자여부를 판단하는 checkDigitBody2(obj, ",")를 사용한다.
// --------------------------------------------------------------------------------------------
function addCommaStr(str) {
if (str.length < 1) {
return "";
} else {
var tm = "";
var ck = "";
if (str.substring(0, 1) == "-") { //음수
tm = str.substring(1, str.length);
ck = "Y";
} else {//양수
tm = str;
ck = "N";
}
var st = "";
var cm = ",";
for (var i = tm.length, j = 0; i > 0; i--, j++) {
if ((j % 3) == 2) {
if (tm.length == j + 1) st = tm.substring(i - 1, i) + st;
else st = cm + tm.substring(i - 1, i) + st;
} else {
st = tm.substring(i - 1, i) + st;
}
}
if (ck == "Y") st = "-" + st;
}
return st;
}
// --------------------------------------------------------------------------------------------
// Function name : delCommaStr
// Description : 화폐구분자로 사용되는 ','문자를 제거하는 함수.
// 보통 화면에는 ,로 표시하고, DB에는 ','를 제외한 숫자만을 insert할 때 사용
// Parameter : str(금액형태의 문자열)
// --------------------------------------------------------------------------------------------
// Usage :
// --------------------------------------------------------------------------------------------
function delCommaStr(str) {
if (str.length < 1) {
return "";
} else {
var st = "";
var sp = ",";
for (var i = 0; i < str.length; i++) {
if (sp.indexOf(str.substring(i, i + 1)) == -1) {
st += str.substring(i, i + 1);
}
}
return st;
}
}
// --------------------------------------------------------------------------------------------
// Function name : delComma
// Description : 화폐구분자로 사용되는 ','문자를 제거하는 함수.
// 보통 화면에는 ,로 표시하고, DB에는 ','를 제외한 숫자만을 insert할 때 사용
// Parameter : obj(화면 입력박스명)
// --------------------------------------------------------------------------------------------
// Usage :
// Caution : delCommaStr 과 다른점은 value 가 아닌 obj값 사용
// --------------------------------------------------------------------------------------------
function delComma(obj) {
var str = String(obj.value);
if (str.length < 1) {
return "";
} else {
var st = "";
var sp = ",";
for (var i = 0; i < str.length; i++) {
if (sp.indexOf(str.substring(i, i + 1)) == -1) {
st += str.substring(i, i + 1);
}
}
return st;
}
}
// --------------------------------------------------------------------------------------------
// Function name : isUpperChar
// Description : 영문 대문자인지를 체크하는 함수
// Parameter : value(체크대상 문자)
// --------------------------------------------------------------------------------------------
// Usage : var a='A'; if(isUpperChar(a)) { alert("대문자입니다"); }
// --------------------------------------------------------------------------------------------
function isUpperChar(value) {
var _upperValue = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
var i;
for(i=0;i<_upperValue.length;i++)
if(value == _upperValue.charAt(i)) {
return true;
}
return false;
}
// --------------------------------------------------------------------------------------------
// Function name : isLowerChar
// Description : 영문 소문자인지를 체크하는 함수
// Parameter : value(체크대상 문자)
// --------------------------------------------------------------------------------------------
// Usage : var a='k'; if(isLowerChar(a)) { alert("소문자입니다"); }
// --------------------------------------------------------------------------------------------
function isLowerChar(value) {
var _lowerValue = 'abcdefghijklmnopqrstuvwxyz';
var i;
for(i=0;i<_lowerValue.length;i++)
if(value == _lowerValue.charAt(i)) {
return true;
}
return false;
}
// -------------------------------------------------------------------------------------------------
// Function name : 특수문자여부체크
// Description : 특수문자인지를 체크하는 함수(영문이나 한글이 아닌)
// Parameter : value(체크대상 문자)
// -------------------------------------------------------------------------------------------------
// Usage : var a='&'; if(isEtcChar(a)) { alert("특수문자입니다"); }
// -------------------------------------------------------------------------------------------------
function isEtcChar(value) {
var _etcValue = '~`!@#$%%^&*()-_=+\|[{]};:\'\",<.>/?';
var j;
for(j=0;j<_etcValue.length;j++)
if(value == _etcValue.charAt(j)) {
return true;
}
return false;
}
// -------------------------------------------------------------------------------------------------
// Function name : isEtcChar(value)
// Description : 특수문자인지를 체크하는 함수(영문이나 한글이 아닌)
// Parameter : value(체크대상 문자), 문자열이 아님 char하나에 대한 체크가능
// -------------------------------------------------------------------------------------------------
// Usage : var a='&'; if(cmm_is_etc_char(a)) { alert("특수문자입니다"); }
// -------------------------------------------------------------------------------------------------
function isEtcString(value) {
var _etcValue = '~`!@#$%%^&*()-_=+\|[{]};:\'\",<.>/?';
var i,j;
for(i=0;i<value.length;i++) {
for(j=0;j<_etcValue.length;j++)
if(value.charAt(i) == _etcValue.charAt(j)) {
return true;
}
}
return false;
}
// -------------------------------------------------------------------------------------------------
// Function name : 영문대문자 변환
// Description : 영문대문자로 변환하는 함수
// Parameter : obj(변환대상 문자열을 가지고 있는 화면 컨트롤오브젝트) cmm_to_upper
// -------------------------------------------------------------------------------------------------
// Usage : 사용자가 소문자로 입력하더라도 DB에는 대문자로 입력하고자 하는 경우
// -------------------------------------------------------------------------------------------------
function getUpperStr(obj) {
var strNew = '';
var str = obj.value;
for(i=0 ; i<str.length; i++ ) {
if(str.charAt(i) >= 'a' && str.charAt(i) <= 'z')
strNew += str.charAt(i).toUpperCase() ;
else
strNew += str.charAt(i);
}
obj.value = strNew;
}
// 사용빈도 : 중
// 함수명: 몇개의 정해진 문자만 입력가능하도록 검사하는 함수
// 설 명: 정해진 문자열(영문자, 공백, '-', ',')만 입력하는 지를 검사하는 함수
// 인 자: ctl_digit(화면컨트롤)
// --------------------------------------------------------------------------------------------
// 사용법: <input type="text" onBlur="cmm_check_english_body(this)">
// 주의사항: 아래 소스를 변형하여 검사대상문자열을 변경하여 사용
// --------------------------------------------------------------------------------------------
function checkEnglishBody(obj) {
var str=obj.value;
if (str.length == 0)
return false;
// Checks that characters are numbers or hyphens.
for (var i = 0; i < str.length; i++) {
var ch = str.substring(i, i + 1);
if(ch != "-") {
if ((ch < "A" || "z" < ch )) {
if (ch == " ")
;
else if (ch == ",")
;
else
return false;
}
}
}
return true;
}
// 사용빈도 : 상
// 함수명: 문자열 좌측공백제거
// 설 명: 문자열 좌측의 공백 제거 처리 함수
// 인 자: str(체크대상 문자)
// --------------------------------------------------------------------------------------------
// 사용법: str = cmm_ltrim(str);
// --------------------------------------------------------------------------------------------
function getLtrim(str) {
while(str.substring(0,1) == ' ')
str = str.substring(1, str.length);
return str;
}
// 사용빈도 : 중
// 함수명: 문자열 중간공백제거
// 설 명: 문자열 중간의 공백 제거 처리 함수
// 인 자: str(체크대상 문자)
// --------------------------------------------------------------------------------------------
// 사용법: str = cmm_mtrim(str);
// --------------------------------------------------------------------------------------------
function getMtrim(str) {
for (i=0; i < str.length;)
if (str.substring(i,i+1) == ' ')
str = str.substring(0,i) + str.substring(i+1,str.length);
else
i++;
return str;
}
// 사용빈도 : 상
// 함수명: 문자열 우측공백제거
// 설 명: 문자열 우측의 공백 제거 처리 함수
// 인 자: str(체크대상 문자)
// --------------------------------------------------------------------------------------------
// 사용법: str = cmm_rtrim(str);
// --------------------------------------------------------------------------------------------
function getRtrim(str) {
while(str.substring(str.length-1,str.length) == ' ')
str = str.substring(0, str.length-1);
return str;
}
// 사용빈도 : 상
// 함수명: 공백문자를 제외한 문자열을 리턴하는 함수
// 설 명: 공백만을 제외한 문자열을 리턴(특수문자 등도 같이 리턴)
// 인 자: arg_str(검사대상 문자열)
// --------------------------------------------------------------------------------------------
// 사용법: cmm_str_trim('abc def');
// --------------------------------------------------------------------------------------------
function getStrTrim(arg_str) {
var rtn_str = "";
var i=0;
while(arg_str.charAt(i) != "") {
if(arg_str.charAt(i)!=' ') {
rtn_str += arg_str.charAt(i);
}
i++;
}
return rtn_str;
}
//--------------------------------------------------------------------------------------------
// Function name : getReverse
// Description : 주어진 문자열을 거꾸로 치환
// Parameter : str - 치환할 문자
// Return : 치환된 문자열
//--------------------------------------------------------------------------------------------
// Usage : getReverse("123") => "321"
//--------------------------------------------------------------------------------------------
function getReverse(Str) {
var ret = "";
for (var i = 0; i < Str.length; i++)
ret = Str.substr(i, 1) + ret;
return ret;
}
//--------------------------------------------------------------------------------------------
// 함수명: 특수문자를 제거하는 함수
// 설 명: 제거하고자 하는 특수문자를 제거하여 리턴하는 함수
// 인 자: str(문자열), sep(제거하고자 하는 특수문자)
// --------------------------------------------------------------------------------------------
// 사용법: <input type="text" onBlur="cmm_remove_special_char(this.value, '-%*');">
// --------------------------------------------------------------------------------------------
function getRmSpChar(str, sep) {
var sTmp = "";
var sBuffer = "";
var i, j;
var equal=false;
for (i=0; i < str.length; i++) {
equal = false;
sTmp = str.substring(i, i+1);
for(j=0; j<sep.length;j++) {
if(sep.charAt(j) == sTmp) {
equal = true;
break;
}
}
if(equal == false)
sBuffer += sTmp;
}
//alert(sBuffer);
return sBuffer;
}
//---------------------------------------------------------------------------------
// Function name : isEmailCheck
// Description : 텍스트 라인안에 값을 정규식 표현을 사용해서 메일형식(ID@도메인네임)을 검사.
// /(\S+)@(\S+)\.(\S+)/
// (\S+) : white space 즉, 공백이 아닌 하나 이상의 문자열이 존재
// @ : 그 뒤로 골뱅이(at)가 존재하고
// (\S+) : 다시 문자열이 존재
// \. : (.)dot
// (\S+) : 다시 문자열이 존재
// Parameter :
// Return :
//----------------------------------------------------------------------------------
// Usage : isEmailCheck(this)
//----------------------------------------------------------------------------------
function isEmailCheck(email) {
mvalue = email ;
if (mvalue.value == null || mvalue.value == "") return;
if (mvalue.value.search(/(\S+)@(\S+)\.(\S+)/) == -1) {
alert ("ID@고유도메인명 형식으로 입력하세요!!\n\n예) test@hanmail.net");
mvalue.value = "";
mvalue.focus();
return false;
} else {
// alert("입력하신 메일 주소는\n\n" + mvalue.value + "\n\n입니다.");
return false;
}
}
//------------------------------------------------------------------
// Function name : fnBluring
// Description :
// Parameter :
// Return :
//------------------------------------------------------------------
// Usage :
//------------------------------------------------------------------
function fnBluring() {
if(event.srcElement.tagName=="A"||event.srcElement.tagName=="IMG"||event.srcElement.tagName=="Onclick"||event.srcElement.tagName=="TABLE")
document.body.focus();
}
//------------------------------------------------------------------
// Function name : fnBsControl
// Description : 백스페이스 제어
// Parameter :
// Return :
//------------------------------------------------------------------
// Usage :
//------------------------------------------------------------------
function fnBsControl() {
var d = document;
//var sw = 0;
if (window.event.keyCode==8) {
// 등록된 객체이름을 백스페이스 방지
//if (d.objList == null)
//{
// return false;
//}
//else
//{
// for (i=0; i<d.objList.length; i++)
// {
// if (window.event.srcElement.name == d.objList[i].name)
// {
// sw = 1;
// break;
// }
// }
//
// if (sw == 0)
// {
// return false;
// }
//}
// 폼객체의 종류로 백스페이스 방지
if (window.event.srcElement.type != 'text') {
return false;
}
}
}
//------------------------------------------------------------------
// Function name : isValidDay
// Description : 지정 년,월,일이 달력상으로 존재하는 날짜인지 검사
// Parameter : year - 년 , month - 월 , day - 일
// Return :
//------------------------------------------------------------------
// Usage :
//------------------------------------------------------------------
function isValidDay(year, month, day) {
var m = parseInt(month,10) - 1;
var d = parseInt(day,10);
var end = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
end[1] = 29;
}
return (d >= 1 && d <= end[m]);