JavaScript

[String] JS - replace() 메서드(String용) ★ - 문자열 대체 (= replace메서드 = 리플레이스메서드) ※ 문자열대체/문자열교체/문자열바꾸기 ※ 천자리 자동 콤마 표시 ※ 줄바꿈 처리

목차
  1. replace() 예제 - 특정 문자열을 지정 문자열로 대체
  2. replace() 정의
  3. replace() 구문
  4. replace() 예제 - 전역대체
  5. replace() 예제 - 대소문자 구분 안 하고 전역대체
  6. replace() 예제 - 대체 텍스트 반환 함수 이용 방법
  7. replace() 예제 - 특정 라인의 문자열만 대체
  8. replace() 예제 - 숫자만입력
  9. replace() 예제 - 숫자 천자리 콤마 자동 표시
  10. replace() 예제 - 줄바꿈 처리
  11. replace() 예제 - </p> 태그 뒤에 줄바꿈 코드 없을 시 추가

※ Tab 메뉴 만들 때 유용.


replace() 예제 - 특정 문자열을 지정 문자열로 대체

 

<p id="demo">Welcome to 홈짱닷컴</p>


<button onclick="homzzang()">클릭</button>


<script>

function homzzang() {

  var str = document.getElementById("demo").innerHTML; 

  var res = str.replace("홈짱닷컴", "Homzzang.com");

  document.getElementById("demo").innerHTML = res;

}

</script>

 

결과보기

결과값: Welcome to Homzzang.com

 

replace() 정의

 

문자열에서 지정 문자열을 찾아 대체 문자열로 바꾼 새 문자열 반환.

 


 

1.

문자열 원본이 바뀌는 것은 아님.

 

2.

모든 브라우저 지원.

 

 

replace() 구문

 

string.replace(searchValue, newValue)

 


[매개변수]

 

searchValue

필수, 찾을 문자열이나 정규표현식 (= 변경 전 문자열)

 

newValue

필수. 대체 문자열 (= 변경 후 문자열)

 


[반환값]

 

지정문자열이 대체문자열로 바뀐 새 문자열 반환.

 

 

replace() 예제 - 전역대체

 

<p id="hz">Homzzang HOMZZANG homzzang</p>


<script>

let str = document.getElementById("hz").innerHTML; 

let res = str.replace(/homzzang/g, "홈짱");

document.getElementById("hz").innerHTML = res;

</script>

 

결과보기

 

replace() 예제 - 대소문자 구분 안 하고 전역대체

 

<p id="hz">Homzzang HOMZZANG homzzang</p>


<script>

let str = document.getElementById("hz").innerHTML; 

let res = str.replace(/homzzang/gi, "홈짱");

document.getElementById("hz").innerHTML = res;

</script>

 

결과보기

 

replace() 예제 - 대체 텍스트 반환 함수 이용 방법

 

<p id="hz">Homzzang HOMZZANG homzzang</p>


<script>

let text = document.getElementById("hz").innerHTML; 

let result = text.replace(/hom|zz|ang/gi, function (x) {

  return x.toUpperCase();

});


document.getElementById("hz").innerHTML = result;

</script>

 

결과보기

 

 

replace() 예제 - 특정 라인의 문자열만 대체

※ 3번의 A만 B로 대체 

 

<div id='hz'>

1. A<br>

2. A<br>

3. A<br>

4. A

</div>


<script>

hz.innerHTML = hz.innerHTML.split('3')[0] + '3' + hz.innerHTML.split('3')[1].replace('A', 'B');

</script>

 

결과보기 

비타주리 님 (220810) https://sir.kr/qa/469839

PS. replace() 대신 replaceAll() 사용하면 3번과 4번 둘 다 바뀜.


replace() 예제 - 숫자만입력

https://homzzang.com/b/js-1934

 

replace() 예제 - 숫자 천자리 콤마 자동 표시

 

<input type="text" id="price" onkeyup="inputNumberFormat(this)"/>


<script>

function inputNumberFormat(obj) {

  obj.value = comma(uncomma(obj.value));

}

function comma(str) {

  str = String(str);

  return str.replace(/(\d)(?=(?:\d{3})+(?!\d))/g, '$1,');

}

function uncomma(str) {

  str = String(str);

  return str.replace(/[^\d]+/g, '');

}

</script>

 

결과보기 

 

replace() 예제 - 줄바꿈 처리

 

<p id="demo">홈짱닷컴\nHomzzang.com</p>


<script>

  var str = document.getElementById("demo").innerHTML; 

  res = str.replace(/\\n/g, "<br>"); 

  document.getElementById("demo").innerHTML = res;

</script>

 

결과보기 (※ 주의: 태그 안 문자열 경우, 역슬래시(\)를 1개 더 추가해야 함.)


replace() 예제 - </p> 태그 뒤에 줄바꿈 코드 없을 시 추가

 

var id = document.getElementById('id'); 

var html = id.innerHTML;

id.innerHTML = html.replace(/<\/p>([^\n])/g, '</p>\n$1');

 


PS. jQuery 경우

var $id = $("#" + id);
var html = $id.html();

$id.html(html.replace(/<\/p>([^\n])/g, '</p>\n$1'));

 

배르만 님 (230930) https://sir.kr/qa/512994


분류 제목
DOM JS - CSS - 스타일변경
DOM JS - Animation - 애니메이션 (= 동적효과 = 움직임효과)
DOM JS - Events - 이벤트 2
DOM JS - addEventListener() 메서드 ★★★★★ - 이벤트 걸기 (= addEventListen…
DOM JS - Navigation - 노드탐색 (= 요소탐색) ※ 텍스트노드복사
DOM JS - Node - 노드추가, 노드삭제, 노드변경 (= 노드생성, 노드제거, 노드교체)
DOM JS - Collection - HTML요소집합 (= HTML요소묶음)
BOM JS - Window BOM - 윈도우 브라우저객체모델 (BOM: Browser Object Model)
BOM JS - Window Screen 객체 - 화면객체 (= 스크린객체 = screen객체)
BOM JS - Window Location 객체 - 위치객체 (= 로케이션객체 = Location객체) ※ loc…
BOM JS - Window History 객체 - 이력객체 (= 히스토리객체 = History객체 = 뒤로가기 +…
BOM JS - Window Navigator 객체 - 브라우저객체 (= 네이게이터객체 = Navigator객체 =…
BOM JS - Popup Boxes - 팝업상자 (= 팝업박스 = Alert Box + Confirm box + …
BOM JS - Timing Events ★ - 시간간격 코드실행 (= 타이밍 이벤트 = 시간이벤트 = 일정시간별 …
BOM JS - Cookie (쿠키) 사용법 ★★★ - 쿠키 (설정・생성) / 쿠키 (읽기・얻기・가져오기) / 쿠…
5/89
목록
 홈  PC버전 로그인 일본어
그누앞단언어
그누뒷단언어
그외코딩언어
그누보드
제작의뢰
Q&A
커뮤니티
웹유틸
회원센터
홈짱닷컴 PC버전 로그인