JavaScript에서 쿼리 문자열 매개변수를 제거하는 방법은 무엇입니까?
P粉239164234
2023-08-20 18:46:10
<p>정규 표현식을 사용하는 표준 JavaScript보다 URL 문자열의 쿼리 문자열에서 매개변수를 제거하는 더 좋은 방법이 있습니까? </p>
<p>이것이 제가 지금까지 생각해낸 것이며 테스트에서는 작동하는 것 같지만 쿼리 문자열 구문 분석을 재발명하는 것을 좋아하지 않습니다! </p>
<pre class="brush:php;toolbar:false;">function RemoveParameterFromUrl(url, 매개변수) {
if (typeof 매개변수 == "정의되지 않음" || 매개변수 == null || 매개변수 == "") throw new Error("매개변수가 필요합니다");
url = url.replace(new RegExp("b" + 매개변수 + "=[^&;]+[&;]?", "gi"), "");
// 남은 쓰레기를 모두 제거합니다.
url = url.replace(/[&;]$/, "");
반환 URL;
}</pre></p>
최신 브라우저는 검색 매개변수를 처리하기 위해
URLSearchParams
URLSearchParams
接口来处理搜索参数。该接口具有delete
인터페이스를 제공합니다. 이 인터페이스에는delete
메서드가 있습니다. 이름으로 매개변수를 제거할 수 있습니다.으아악
인수 'bar'가 일치하므로 위험해 보입니다.
으아악또한
parameter
에 '.'와 같이 정규 표현식에서 특별한 의미를 갖는 문자가 포함되어 있으면 이 정규 표현식은 실패합니다. 그리고 이는 전역 정규식이 아니므로 매개변수의 인스턴스 하나만 제거됩니다.이 작업을 수행하기 위해 간단한 정규식을 사용하지 않고 매개변수를 구문 분석하고 필요하지 않은 매개변수를 삭제합니다.
으아악