<!--
//---------------------------------------------------------------------------//
// StringUtil //
//---------------------------------------------------------------------------//
/**----------------------------------------------------------------------------
함수명 : removeWhiteSpace()
설 명 : 문자열에 포함된 공백, 개행문자 제거
인자값 : String strTarget - 문자열에 포함된
공백, 개행문자를 제거하고자하는 문자열
리 턴 : String - 좌우 공백이 제거된 문자열
사용법 : var strResult = trim(' 문 자 열 ');
return '문자열'
-----------------------------------------------------------------------------*/
function removeWhiteSpace(strTarget)
{
var strEliminate = /\s+/g;
if(strTarget)
{
return strTarget.replace(strEliminate,"");
}
else
{
return strTarget;
}
}
/**----------------------------------------------------------------------------
함수명 : trim()
설 명 : 좌우 공백 제거
인자값 : String strTarget - 좌우 공백을 없애고자하는 문자열
리 턴 : String - 좌우 공백이 제거된 문자열
사용법 : var strResult = trim(' 문 자 열 ');
return '문 자 열'
-----------------------------------------------------------------------------*/
function trim(strTarget)
{
var strEliminate = /(^\s*)|(\s*$)/gi;
if(strTarget)
{
return strTarget.replace(strEliminate,"");
}
else
{
return strTarget;
}
}
/**----------------------------------------------------------------------------
함수명 : ltrim()
설 명 : 좌측 공백 제거
인자값 : String strTarget - 좌측 공백을 없애고자하는 문자열
리 턴 : String - 좌측 공백이 제거된 문자열
사용법 : var strResult = ltrim(' 문 자 열 ');
return '문 자 열 '
-----------------------------------------------------------------------------*/
function ltrim(strTarget)
{
while(strTarget.substring(0,1)==" ")
{
strTarget = strTarget.substring(1);
}
return strTarget;
}
/**----------------------------------------------------------------------------
함수명 : rtrim()
설 명 : 우측 공백 제거
인자값 : String strTarget - 우측 공백을 없애고자하는 문자열
리 턴 : String - 우측 공백이 제거된 문자열
사용법 : var strResult = rtrim(' 문 자 열 ');
return ' 문 자 열'
-----------------------------------------------------------------------------*/
function rtrim(strTarget)
{
var len = strTarget.length;
while(strTarget.substring(len-1,len)==" ")
{
strTarget = strTarget.substring(0,len-1);
len = strTarget.length;
}
return strTarget;
}
/**----------------------------------------------------------------------------
함수명 : replaceAll()
설 명 : 소스문자열에 포함된 문자를 원하는 문자로 변환
공백 또는 '0'을 자리수만큼 채운 문자열
인자값 : String strSrc - 소스 문자열
String strOld - 총 자릿수
String strNew - 숫자인가? (옵션 default : false)
리 턴 : String - 소스 문자열을 포함해 원하는 위치에
공백 또는 '0'을 자리수만큼 채운 문자열
사용법 : var strResult = packValue('1234', 8, true, true);
return '00001234'
-----------------------------------------------------------------------------*/
function replaceAll(strSrc, strOld, strNew)
{
var retValue = "";
if(strOld == null)
{
return strSrc;
}
if (strSrc != "" && strOld != strNew)
{
retValue = strSrc;
while (retValue.indexOf(strOld) > -1)
{
retValue = retValue.replace(strOld, strNew);
}
}
return retValue;
}
// 문자 변환 함수 (=replaceAll() 함수와 동일)----------------------------------
function alterString(strSrc, strOld, strNew)
{
var retValue = "";
for(i = 0; i < strSrc.length; i++)
{
var value = strSrc.charAt(i);
var index = strOld.indexOf(value);
if(index >= 0)
{
value = strNew.charAt(index);
}
retValue += value;
}
return retValue;
}
/**----------------------------------------------------------------------------
함수명 : formatString()
설 명 : 포멧 문자열 변환
인자값 : String strSrc - 변환하고자 하는 문자열
String strFormat - 포멧형식
String strDelim - 포멧 구분자 문자
리 턴 : String - 원하고자 하는 포멧으로 변환된 문자열
사용법 : var strResult = formatString('20050512', '9999/99/99');
return ' 문 자 열'
-----------------------------------------------------------------------------*/
function formatString(strSrc,strFormat)
{
var retValue = "";
var j = 0;
var strSrc = strSrc.replace(/(\$|\^|\*|\(|\)|\+|\.|\?|\\|\{|\}|\||\[|\]|\-|\/|\:)/g, "");
for (var i=0; i< strSrc.length; i++)
{
retValue += strSrc.charAt(i);
j++;
if ( (j < strSrc.length && j < strFormat.length)
&& (strFormat.charAt(j) != "9"
&& strFormat.charAt(j).toLower != "x"
&& strFormat.charAt(j) != "#") )
{
retValue += strFormat.charAt(j++);
}
}
return retValue;
}
/**----------------------------------------------------------------------------
함수명 : packValue()
설 명 : 소스 문자열을 포함해 원하는 위치에
공백 또는 '0'을 자리수만큼 채운 문자열
인자값 : String strSrc - 소스 문자열
Int nSize - 총 자릿수
bool bNum - 숫자인가? (옵션 default : false)
bool bLeft - 왼쪽에 위치할 것인지? (옵션 default : true )
리 턴 : String - 소스 문자열을 포함해 원하는 위치에
공백 또는 '0'을 자리수만큼 채운 문자열
사용법 : var strResult = packValue('1234', 8, true, true);
return '00001234'
-----------------------------------------------------------------------------*/
function packValue(strSrc, nSize, bNum, bLeft)
{
var retValue = "";
var preValue = "";
var postValue = "";
var nLen = 0;
var i = 0;
if(bNum == null)
{
bNum = false;
}
if(bLeft == null)
{
bLeft = true;
}
strSrc = "" + strSrc;
nLen = strSrc.length;
retValue = strSrc;
if(bNum)
{
for(i = nLen; i < nSize; i++)
{
if(bLeft)
{
preValue += "0";
}
else
{
postValue += "0";
}
}
}
else
{
for(i = nLen; i < nSize; i++)
{
if(bLeft)
{
preValue += " ";
}
else
{
postValue += " ";
}
}
}
retValue = preValue + retValue + postValue;
return retValue;
}
/**----------------------------------------------------------------------------
함수명 : getByte()
설 명 : 문자열의 바이트수 구하기
인자값 : String strSrc - 소스 문자열
리 턴 : Int - 문자열 바이트수
사용법 : var nResult = getByte('가나다1234');
return 10
-----------------------------------------------------------------------------*/
function getByte(strSrc)
{
// var nByte = 0;
// for(var i=0; i < strSrc.length; i++)
// {
// if(!((strSrc.charCodeAt(i) > 0x3130 && strSrc.charCodeAt(i) < 0x318F)
// || (strSrc.charCodeAt(i) >= 0xAC00 && strSrc.charCodeAt(i) <= 0xD7A3)))
// {
// nByte += 1;
// }
// else
// {
// nByte += 2;
// }
// }
// return nByte;
return (strSrc.length+(escape(strSrc)+"%u").match(/%u/g).length - 1);
}
/**----------------------------------------------------------------------------
함수명 : toUpper()
설 명 : 소문자를 대문자로 변환
인자값 : String strSrc - 소스 문자열
리 턴 : String - 대문자로 변환된 문자열
사용법 : var strResult = toUpper('abc');
return 'ABC'
-----------------------------------------------------------------------------*/
function toUpper(strSrc)
{
var str1 = "abcdefghijklmnopqrstuvwxyz";
var str2 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
return alterString(strSrc, str1, str2);
}
/**----------------------------------------------------------------------------
함수명 : toLower()
설 명 : 대문자를 소문자로 변환
인자값 : String strSrc - 소스 문자열
리 턴 : String - 소문자로 변환된 문자열
사용법 : var strResult = toLower('ABC');
return 'abc'
-----------------------------------------------------------------------------*/
function toLower(strSrc)
{
var str1 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
var str2 = "abcdefghijklmnopqrstuvwxyz";
return alterString(strSrc, str1, str2);
}
/**----------------------------------------------------------------------------
함수명 : removeComma()
설 명 : 문자열에 포함된 ','를 제거
인자값 : String strSrc - 소스 문자열
리 턴 : String - ','가 제거된 문자열
사용법 : var nResult = removeComma('123,456,789');
return '123456789'
-----------------------------------------------------------------------------*/
function removeComma(strSrc)
{
return strSrc.replace(/,/gi,"");
}
/**----------------------------------------------------------------------------
함수명 : removeFormat()
설 명 : 문자열에 포함된 포멧문자 ", . - / :"를 제거
인자값 : String strSrc - 소스 문자열
리 턴 : String - ", . - / :"가 제거된 문자열
사용법 : var nResult = removeComma('2005/03/12 12:24:00');
return '20050312 122400'
-----------------------------------------------------------------------------*/
function removeFormat(strSrc)
{
return strSrc.replace(/(\,|\.|\-|\/|\:)/g,"");
}
/**----------------------------------------------------------------------------
함수명 : addComma()
설 명 : 문자열에 포함된 ','를 제거
인자값 : String strSrc - 소스 문자열
bool bSymbol - '+' 부호일때 보일것인가?
리 턴 : String - ','가 제거된 문자열
사용법 : var nResult = addComma('1234567.12', true);
return '+1,234,567.12'
-----------------------------------------------------------------------------*/
function addComma(strSrc, bSymbol)
{
var strSymbol = '';
var retValue = '';
var strTempSymbol = '';
var strTempDotValue = '';
var nLen = 0;
try
{
if(bSymbol == null)
{
bSymbol = false;
}
strSrc = strSrc.trim();
if(strSrc.indexOf('.') != 0)
{
var nIndex = strSrc.indexOf('.');
strTempDotValue = strSrc.substring(nIndex);
strSrc = strSrc.substring(0, nIndex);
}
strTempSymbol = strSrc.substr(0,1);
if(strTempSymbol == '+')
{
strSymbol = '+';
strSrc = strSrc.substring(1);
}
if(strTempSymbol == '-')
{
strSymbol = '-';
strSrc = strSrc.substring(1);
}
nLen = strSrc.length;
for(var i=1; i <= nLen; i++)
{
retValue = strSrc.charAt(nLen - i) + retValue;
if((i % 3 == 0) && ((nLen - i) != 0))
{
retValue = "," + retValue;
}
}
if(bSymbol)
{
if(strSymbol == '')
{
strSymbol = '+';
}
}
else
{
if(strSymbol == '+')
{
strSymbol = '';
}
}
return strSymbol + retValue + strTempDotValue;
}
catch(e)
{
}
}
/**----------------------------------------------------------------------------
윗 함수 사용법 : trim('aaa'); -> 변수.trim(); 또는 문자열.trim();
-----------------------------------------------------------------------------*/
String.prototype.removeWhiteSpace = function()
{
return removeWhiteSpace(this);
}
String.prototype.trim = function()
{
return trim(this);
}
String.prototype.ltrim = function()
{
return ltrim(this);
}
String.prototype.rtrim = function()
{
return rtrim(this);
}
String.prototype.replaceAll = function(strOld, strNew)
{
return replaceAll(this, strOld, strNew);
}
String.prototype.formatString = function(strFormat)
{
return formatString(this, strFormat);
}
String.prototype.packValue = function(nSize, bNum, bLeft)
{
return packValue(this, nSize, bNum, bLeft);
}
String.prototype.getByte = function()
{
return getByte(this);
}
String.prototype.toUpper = function()
{
return toUpper(this);
}
String.prototype.toLower = function()
{
return toLower(this);
}
String.prototype.removeComma = function()
{
return removeComma(this);
}
String.prototype.removeFormat = function()
{
return removeFormat(this);
}
String.prototype.addComma = function(bSymbol)
{
return addComma(this, bSymbol);
}
-->
</script>
[출처] [펌] StringUtil ver 1.0|작성자 제로스엘