JavaScriptでURL(パス)からファイル名を取得する

このコードは、現在のページのURLパス(ドメイン以下の部分)から、ファイル名を取得するためのものです。
ファイル名とは、URLの最後のスラッシュ /
の後にある文字列を指します。
コード
var url = window.location.pathname;
var filename = url.substring(url.lastIndexOf('/')+1);
コード解説
window.location.pathname
は、現在のページのパス名を取得します。- 例えば、URLが
http://www.example.com/dir/file.html
の場合、/dir/file.html
が返されます。 url.lastIndexOf('/')
は、文字列の中で最後に/
が現れる位置を取得します。- この例では、
/dir/file.html
の中で最後の/
はdir/
の後にあります。 url.substring(url.lastIndexOf('/') + 1)
は、その最後の/
の次の文字から文字列の終わりまでを抽出します。- つまり、ファイル名の部分(
file.html
)を取得します。
まとめ
このコードは非常にシンプルかつ効果的に、現在のページのURLパスからファイル名を取り出せます。
ただし、URLの末尾が /
で終わっている場合は空文字列が返るので、その場合の処理を追加するとより堅牢になります。