JavaScript의 교체 메소드가 첫 번째 인스턴스만 교체하는 이유는 무엇입니까?

Mary-Kate Olsen
풀어 주다: 2024-10-23 07:55:02
원래의
926명이 탐색했습니다.

Why Does JavaScript's Replace Method Only Replace the First Instance?

JavaScript 바꾸기가 첫 번째 인스턴스만 바꾸는 이유: RegExp 플래그 탐색

JavaScript의 바꾸기 메서드를 사용하여 문자열을 찾아 다른 문자열로 바꾸는 경우 , 대상 문자열의 첫 번째 인스턴스만 바뀌는 동작이 발생할 수 있습니다. 이 동작은 바꾸기의 기본 동작이 단일의 비전역 검색 및 바꾸기 작업을 수행하는 것이기 때문에 발생합니다.

전역 바꾸기: RegExp 플래그

모두 바꾸려면 문자열에 대상 문자열이 있는 경우, 바꾸기 메서드에 사용된 정규식에 "전역" 플래그(g)를 지정해야 합니다. 이 플래그는 검색 및 바꾸기 작업이 전체 문자열에 걸쳐 발생하여 대상 문자열의 모든 항목을 대체해야 함을 나타냅니다.

예를 들어 코드에서 다음과 같습니다.

<code class="javascript">var date = $('#Date').val(); // e.g., "12/31/2009"
var id = 'c_' + date.replace("/", ''); // c_1231/2009 (wrong)</code>
로그인 후 복사

모든 항목을 바꾸려면 "/" 문자의 경우 "global" 플래그를 지정해야 합니다.

<code class="javascript">var id = 'c_' + date.replace(new RegExp("/", "g"), ''); // c_12312009 (correct)</code>
로그인 후 복사

또는 더 짧은 구문을 사용할 수 있습니다.

<code class="javascript">var id = 'c_' + date.replace(/\//g, ''); // c_12312009 (correct)</code>
로그인 후 복사

"global" 플래그를 지정하여 플래그를 사용하면 교체 메소드가 날짜 문자열의 모든 슬래시 문자를 대체하여 올바른 출력을 가져옵니다.

위 내용은 JavaScript의 교체 메소드가 첫 번째 인스턴스만 교체하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!