Я должен сказать, собираетесь ли Вы быть соединением с той областью на странице..., такой как страница html#foo, и Заголовок Нечто не является ссылкой, которую необходимо использовать:
<h1 id="foo">Foo Title</h1>
, Если Вы вместо этого помещаете <a>
ссылка вокруг этого, Ваш заголовок будет под влиянием <a>
определенный CSS на Вашем сайте. Это - просто дополнительная разметка, и Вам не должен быть нужен он. Я настоятельно рекомендовал бы размещение идентификатора на заголовке, мало того, что это лучше формируется, но и это позволит Вам или обращаться к тому объекту в JavaScript или CSS.
var index = yourstring.lastIndexOf("/") + 1;
var filename = yourstring.substr(index);
Используйте регулярное выражение, что-то вроде этих строк должно помочь:
[^/]+\.[^/]+
Хотя это не охватывает все возможные случаи, оно должно быть более чем подходящим для большинства случаев. Вы можете использовать их:
var url = window.location.href;
var regex = new RegExp("[^/]+\.[^/]+");
var fileName = regex.exec(url);
Надеюсь, что это поможет
// Extract filename from current page.
var filePath = window.location.pathname;
var fileName = filePath.substr(urlPath.lastIndexOf("/") + 1);
Я бы использовал регулярное выражение.
[^/]*$
Оно выбирает все после последней косой черты до конца. Вы можете развернуть его, чтобы выбрать расширение отдельно:
/([^/]*?)(\.[^\./]*)?$
Более короткий путь
var filename = window.location.href.substr(window.location.href.lastIndexOf("/")+1);
Для ваших примеров поиск по подстроке, вероятно, будет вашим лучшим вариантом.
Однако, если ваши URI действительно достаточно сложны, вы можете попробовать parseUri
Стивена Левитана:
parseUri(uri).file;
У него 2 режима, и у каждого есть свои особенности, поэтому обязательно ознакомьтесь с демо .
var path = window.location.pathname;
var filename = path.match(/.*\/([^/]+)\.([^?]+)/i)[1];
Используйте это в случае, если вы не хотите, чтобы строка запроса была частью имени вашего файла (чего вы, вероятно, не хотите)
.