본문 바로가기

프로그램&DB/jQuery&JS

[javascript] replaceAll 구현 by 앙마의 날개님

[JavaScript] 는 replace 함수 사용 시 한번 만 치환된다.
ex)
var a = "2008-08-28";
var b = a.replace("-","");
alert(b);

결과 값 : 200808-28

아래와 같이 split 함수와 join 함수를 쓰면 이러한 문제가 해결 된다.
ex)
var a = "2008-08-28";
var b = a.split("-").join("");
alert(b);

결과 값 : 20080828

[출처] [JavaScript] replace함수 한번만 치환되는 문제 해결 방안|작성자 유니혀니


---------------------------------------------------------------------------

함수로 만들어 쓰는게 낫겠지?
그렇다고 이렇게 할 건 없어...

function replaceAll(str, searchStr, replaceStr) {

    while (str.indexOf(searchStr) != -1) {
        str = str.replace(searchStr, replaceStr);
    }

    return str;

}


위에서 퍼온 글처럼 split과 join을 이용해서 구현하면 쉽자나~

function replaceAll(str,orgStr,repStr)
{
    return str.split(orgStr).join(repStr);
}


[출처] 앙마의날개님 블로그 http://luckydevil.tistory.com/451