문자열관련메서드 추가(toFirstUpper, padLeft ... ) > script

본문 바로가기
사이트 내 전체검색

script

문자열관련메서드 추가(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() );

댓글목록

등록된 댓글이 없습니다.

Total 846건 55 페이지
게시물 검색

회원로그인

접속자집계

오늘
106
어제
190
최대
1,347
전체
167,514
Latest Crypto Fear & Greed Index

그누보드5
Copyright © 서방님.kr All rights reserved.