2016-12-13 10 views
0

私は以下の各URLの最後のディレクトリを取得したい...残念ながら...出力を得ることに間違った何かをtheresのjqueryの取得現在のパスのディレクトリ名

  • はlocalhost/myappの/アプリ/私のディレクトリ名-1/=返し私のディレクトリ名-1
  • はlocalhost/myappの/アプリ/私のディレクトリ名-2/index.phpを=/私のディレクトリ名-2
  • ローカルホストを返します。 myappの/アプリ/私のディレクトリ名= アプリ
  • を返します。

私は現在のURLの最後のディレクトリを取得するには、このコードを使用:ケース1と

slug = window.location.pathname; 
slug = slug.substring(0, slug.lastIndexOf("/") + 1); 
slug = slug.match(/([^\/]*)\/*$/)[1]; 

、それが正しい最後のディレクトリを返します。..ケース2では

、それはまた、 Anが

...正しい最後のディレクトリを返します

しかし、ケース3と、それは/アプリです最後のディレクトリに2つ目を返します。..

これに関してyの助け?私のコードに何が問題なのですか?

+0

'/' での問題。あなたの場合3は '/'を持っていません。だから、文字列の最後の部分を検証する必要があり、それが任意の拡張子(例:.PHP)を持っているならば、あなたは、以前のものに持っています。それ以外の場合は、現在のものを取らなければなりません。 – Naga

答えて

1

私はあなたに別のアプローチを提案することはできますか?

slug = window.location.pathname; 
res = slug.split('/'); 
if (res[res.length-1] == 'index.php' || res[res.length-1] == ''){ 
    res.pop(); 
} 
slug = res[res.length-1]; 
関連する問題