문자열관련메서드 추가(toFirstUpper, padLeft ... )
페이지 정보
작성자 서방님 댓글 0건 조회 265회 작성일 06-09-12 16:20본문
/*
// 현재문자열을 오른쪽으로 맞추고 지정한 길이의 남는 여백을 해당문자로 채운다.
----------------------------------------------------------------------------
// padLeft ( int count, char repeat );
// padLeft ( int count );
----------------------------------------------------------------------------
// count : 문자열의 크기(필수)
// repeat : 문자열의 빈자리를 채울 문자(기본값 공백)
*/
String.prototype.padLeft = function()
{
var args = arguments;
var len = args[0];
if( args.length == 1 ) padStr = " ";
else padStr = args[1];
var returnString = "";
var padCnt = Number(len) - String(this).length;
for(var i=0; i<padCnt; i++) returnString += String(padStr);
returnString += this;
return returnString.substring(returnString.length-len);
}
//document.writeln( String("abc").padLeft(5).replace(/s/gi, "*"));
//document.writeln( String("abc").padLeft(5, "-") );
/*
// 현재문자열을 왼쪽으로 맞추고 지정한 길이의 남는 여백을 해당문자로 채운다.
----------------------------------------------------------------------------
// padRight ( int count, char repeat );
// padRight ( int count );
----------------------------------------------------------------------------
// count : 문자열의 크기(필수)
// repeat : 문자열의 빈자리를 채울 문자(기본값 공백)
*/
String.prototype.padRight = function()
{
var args = arguments;
var totalLength = args[0];
if( args.length == 1 ) paddingChar = " ";
else paddingChar = args[1];
var returnString = "";
var padCnt = Number(totalLength) - String(this).length;
for(var i=0; i<padCnt; i++) returnString += String(paddingChar);
returnString = this + returnString;
return returnString.substring(0, totalLength);
}
//document.writeln( String("abc").padRight(5).replace(/s/gi, "*"));
//document.writeln( String("abc").padRight(5, "-") );
//문자열을 원하는 횟수만큼 반복하여 반환한다.
String.prototype.replicate = function( cnt )
{
var returnString = "", i = 0;
while ( i++ < cnt ) { returnString += this; }
return returnString;
}
// document.writeln( String("안녕").replicate(3) );
//영문 단어의 첫번째 문자만 대문자로 변경
String.prototype.toFirstUpper = function()
{
if( this.length == 0 ) return this;
if( this.indexOf(" ") < 0 ) this.substr(0,1).toUpperCase() + this.substr(1);
//탭은 공백으로 변경후 공백을 기준으로 배열로 나눈다.
var arrStr = this.replace(/^t/gi, " ").split(" ");
for(var i=0; i<arrStr.length; i++)
{
var word = arrStr[i].replace(/^s/gi, "");
if( word != "")
arrStr[i] = word.substr(0,1).toUpperCase() + word.substr(1);
}
return arrStr.toString().replace(/,/gi, " ");
}
//document.writeln( String("my name is se-young lee.").toFirstUpper() );
댓글목록
등록된 댓글이 없습니다.