당신이 문자열로 붙어하고 싶은 경우를 인코딩하려고 :
var url = "http://localhost.com/?q=java&industry=\"IT&web\"&location=\"New-york & Florida\"";
하나의 옵션입니다 물론,이 일치 가정 (모든 인용 표정을 캡처)을 입력하고 encodeURIComponent
을 적용하십시오. 결과는 전체 매개 변수는 따옴표를 포함하여 인코딩하는 데있다 :
두 경우 모두
url = url.replace(/"([^"]*)"/g, function(g0){return g0.replace(/&/g, encodeURIComponent);});
> http://localhost.com/?q=java&industry="IT%26web"&location="New-york %26 Florida"
이 이미와 충돌 할 수 있습니다
url = url.replace(/"[^"]*"/g, encodeURIComponent);
> http://localhost.com/?q=java&industry=%22IT%26web%22&location=%22New-york%20%26%20Florida%22
마찬가지로, 당신이 당신이 필요로하는 무엇을 경우에만 앰퍼샌드를 대체 할 수 이스케이프 처리 된 문자가 포함되어 있으므로 가장 좋은 해결책은 URL이 생성되는 소스에서 문제를 해결하는 것입니다.
고맙습니다. .. 잘 작동합니다 .... 감사합니다. –