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 중국어 웹사이트의 기타 관련 기사를 참조하세요!