2010-08-07 2 views
28

커스텀 xml 파서와 특수 문자에 대한 잠금 기능을 작성했습니다. 그래서 당연히 나는 그들을 내 데이터베이스에 urlencoded.PHP의 urldecode()에 해당하는 Javascript

PHP의 urldecode()과 동일한 항목을 찾지 못하는 것 같습니다.

달성 할 수있는 jquery 또는 javascript에 대한 확장이 있습니까?

답변

60

the decodeURIComponent function을 사용하여 % xx를 문자로 변환 할 수 있습니다. 그러나 +을 공백으로 변환하려면 추가 단계에서이를 대체해야합니다.

function urldecode(url) { 
    return decodeURIComponent(url.replace(/\+/g, ' ')); 
} 
+3

우수 답변. 어떤 변수를 취하기 위해 약간 수정했습니다 : 'function urldecode (str) { if (typeof str! = "string") { return str; } return decodeURIComponent (str.replace (/ \ +/g, '')); }' –

-1

decodeURI 기능이 필요하다고 생각합니다.

+0

하지 완전히 (케니의 답변을 참조). –

7

체크 아웃이 하나

function urldecode (str) { 
    return decodeURIComponent((str + '').replace(/\+/g, '%20')); 
} 
+2

이미 제안 된 답변에 멋진 추가 사항이 있지만, 여기에 나열된 다른 옵션과의 상충 관계에 대한 의견을 포함시켜야합니다. – EdC

+0

제 생각에 이것은'+'를'% 20'으로 바꿀 것입니다. 이것은'decodeURIComponent에 의해 해독 된 공간의 인코딩 된 값입니다. 그래서 이론적으로 이것은 받아 들인 대답과 똑같이 할 것입니다, 그것을하는 다른 방법입니다. – Matt

관련 문제