Javascript의 바꾸기 기능이 첫 번째 인스턴스만 바꾸는 이유
JavaScript에서 바꾸기()를 사용할 때, 오직 바꾸기만 하는 상황이 발생할 수 있습니다. 대상 문자열의 첫 번째 인스턴스입니다. 이 명백한 불일치는 함수의 기본 동작에서 비롯됩니다.
replace() 동작 이해
기본적으로, replacement()는 지정된 하위 문자열이 처음 나타나는 것을 찾아서 바꿉니다. 문자열 내에서. 모든 인스턴스를 교체하려면 정규식에 g(전역) 플래그를 지정해야 합니다.
예: g 플래그 설정
예제를 고려하세요. 질문에 제공됨:
var date = $('#Date').val(); // Gets value "12/31/2009" var id = 'c_' date.replace("/", ''); // Replaces only the first "/", resulting in "c_1231/2009"
슬래시(/)의 모든 인스턴스를 바꾸려면 g 플래그를 사용하십시오.
var id = 'c_' date.replace(new RegExp("/", "g"), ''); // Replaces all "/" with "", resulting in "c_12312009"
또는 더 간단한 구문을 사용할 수 있습니다:
var id = 'c_' date.replace(/\//g, ''); // Equivalent to the previous line
g 플래그를 설정하면 정규식은 대상 문자열의 모든 항목을 일치시키고 이를 지정된 새 값으로 바꿉니다. 이 동작을 통해 모든 인스턴스가 의도한 대로 교체됩니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3