2013-05-25 3 views
15

URL의 마지막 디렉토리 부분을 제거하려고합니다. 내 URL은 다음과 같습니다 :URL의 마지막 디렉토리를 제거하십시오.

https://my_ip_address:port/site.php?path=/path/to/my/folder. 버튼을 클릭하면

, 나는

https://my_ip_address:port/site.php?path=/path/to/my로 변경하고 싶습니다. (마지막 부분을 제거하십시오).

는 이미

https://my_ip_address:port/undefined에 어떤 결과 window.location.replace(/\/[A-Za-z0-9%]+$/, "")을 시도했다.

정규식을 사용하려면 어떻게해야합니까?

+1

'/../'을 추가 할 수도 있습니다. LOL 그냥 농담, 여기는 [실제 거래] (http://regex101.com/r/nZ4jU4) – HamZa

+1

@HamZaDzCyberDeV 나는 주사를 피하기 위해 경로에서'.'을 무시합니다. 하지만 귀하의 링크에 감사드립니다! – pascalhein

+0

@HamZaDzCyberDeV 어떻게 든'replace'를 사용하는 법을 모르겠습니다 :'window.location.replace (/(.*)\/.*/, "\ 1");'결과는'https : // my_ip_address : port /(.*)\/.*/' – pascalhein

답변

22

설명 : "/"로 분해하고 마지막 요소를 제거하고 "/"로 다시 결합하십시오.

function RemoveLastDirectoryPartOf(the_url) 
{ 
    var the_arr = the_url.split('/'); 
    the_arr.pop(); 
    return(the_arr.join('/')); 
} 

이 코드를 사용하기 위해 바이올린을 http://jsfiddle.net/GWr7U/

+0

덕분에 그 – pascalhein

+0

@ csharpler 기꺼이 도와 드리겠습니다. :) – Sharky

5

를 참조 URL 링크에서 마지막 요소를 제거합니다.

string url = Request.Url.ToString(); 
      string removelastdir = url.Substring(0, url.LastIndexOf('/')); 
+0

이것은 C#에서는 작동하지만 Javascript에서는 작동하지 않습니다. – Dykotomee

+2

for js : string removelastdir = url.substring (0, url.lastIndexOf ('/')); – SanR

관련 문제