2008.09.03 11:37

[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);
}
Posted by 열라착한앙마

댓글을 달아 주세요

  1. 2008.09.24 09:24  댓글주소  수정/삭제  댓글쓰기

    정규식을 쓰는거도 좋음

    • BlogIcon 열라착한앙마 2008.09.24 09:49 신고  댓글주소  수정/삭제

      그래 좋은 생각이야~ 정규식도~ ㅋㅋ
      지금와서 드는 생각인데~
      ASP, ASP.NET 개발도 꽤했는데...
      뭔가 공부가 부족했던 것 같다는 생각이 많이 든다..
      너무 했던방식으로만 코딩하고.. ㅎㅎ
      좀 더 많은 방법으로 경험을 해봤으면 좋았을텐데..ㅋ

  2. BlogIcon vbmania 2008.10.15 22:09 신고  댓글주소  수정/삭제  댓글쓰기

    참고로 정규표현식은
    var a = "2008-08-28";
    var b = a.replace(/-/g,"";);
    이렇게 하면 됩니다...

  3. BlogIcon 엽123 2013.07.09 12:02  댓글주소  수정/삭제  댓글쓰기

    오오 감사합니다 ㅎㅎ