/****************************************************************************************** * 기능 : 입력값이 null에 해당하는 경우 모두를 한번에 체크한다. * 인자 : sValue : 체크할 문자열( 예 : null 또는 undefined 또는 "" 또는 "abc" ) * 리턴 : true - undefined, null, NaN, "", Array.length = 0인 경우 * fasle - 위값 이외의 경우 * 예문 : *****************************************************************************************/
function fn_IsNull(sValue)
{
if( String(sValue).valueOf() == "undefined") return true;
if( sValue == null ) return true;
if( ("x"+sValue == "xNaN") && ( new String(sValue.length).valueOf() == "undefined" ) ) return true;
if( sValue.length == 0 ) return true;
return false;
}
/******************************************************************************* ★ 설명 전각문자를 반각문자로 ( 참고 : 전각문자는 "정사각형" 안에 들어가는 문자이고, 반각은 그 정사각형의 반쪽에 들어가는 문자이다. 전각문자의 폭은, 반각문자의 2배입니다. 예를 들어 숫자 "3" 은, 한글 "가"의 절반의 폭만을 가지고 있습니다. 그래서 영문과 숫자 등은 반각이고, 한글이나 한자들은 전각문자입니다. 다만, 영문과 숫자를 전각으로 표현할 수도 있습니다. 예 : 전각문자 ==> ※★0+ 반각문자 ==> 1a ) ★ Parameter 1. sFull : 전각문자( 예 : "0+" ) ★ return - 성공 = 반각문자 ( 예 : "0+" ) - 실패 = "" ******************************************************************************/
function fn_Full2Half(sFull)
{
var i, c, sHalf = "";
if( fn_IsNull(sFull) ) return "";
for( i=0 ; i < sFull.length ; i++ )
{
var c = sFull.charCodeAt(i);
if (c == 12288)
sHalf += unescape("%20");
else if ( (c >= 65281) && (c <= 65374) )
sHalf += unescape("%"+(c-65248).toString(16));
else
sHalf += sFull.charAt(i);
}
return sHalf;
}
/******************************************************************************* ★ 설명 반각문자를 전각문자로 ★ Parameter 1. sHalf : 반각문자( 예 : "0+" ) ★ return - 성공 = 전각문자 ( 예 : "0+" ) - 실패 = "" ******************************************************************************/
function fn_Half2Full(sHalf)
{
var rTmp = "";
var iTmp = "";
var i;
if( fn_IsNull(sHalf) ) return "";
for( i = 0 ; i < sHalf.length ; i++ )
{
//기본 아스키 코드 값을 벗어난 경우(한글)는 전자로 변환할 필요 없음.
if( (sHalf.charCodeAt(i) >= 32) && (sHalf.charCodeAt(i) <= 126) )
{
if( sHalf.charCodeAt(i) == 32 )
iTmp = unescape("%u"+(12288).toString(16));
else
iTmp = sHalf.charCodeAt(i) + 65248;
}
else
iTmp = sHalf.charCodeAt(i);
if( sHalf.charCodeAt(i) == 32 )
rTmp = rTmp + (iTmp);
else
rTmp = rTmp + String.fromCharCode(iTmp);
}
return rTmp;
} |