Javascript 如果找到的是数字,则删除 url 最后一段
Javascript remove url last segment if found is numeric
我有 javascript 映射 url 的功能和突出显示菜单项的超链接,但是我无法在更深的页面中使用 url 最后一段带有数字,这url 看起来像:http://localhost/story/89
我想删除最后一个 url 段,如果它是一个数字,那么 url 最终会变成 http://localhost/story
(也去掉 /
)。
/* highlight nav menu */
$(function(){
$('#topMain li a').each(function(index) {
if($.trim(this.href) == stripQueryStringAndHashFromPath(window.location.href)) {
$(this).closest('li').addClass('active')
.closest('li.parent').addClass('active');
}
});
});
function stripQueryStringAndHashFromPath(url) {
return url.split("?")[0].split("#")[0];
}
您可以将正则表达式参数传递给 split()
。
只需在 stripQueryStringAndHashFromPath
函数的 url.split("?")[0].split("#")[0]
末尾添加 .split(/(\/\d*)$/)[0]
。
新的正则表达式段基本上搜索反斜杠 (\/
),后跟一个或多个数字 (\d*
),位于末尾 ($
) ) 的字符串。
有关正则表达式的更多信息 here。
function stripQueryStringAndHashFromPath(url) {
url = url.split('?')[0].split('#')[0].split(/(\/\d*)$/)[0];
return url;
}
console.log(stripQueryStringAndHashFromPath('http://localhost/story/89'));
function validateURL(url){ let lastSegment = url.split("/");
if(lastSegment[(lastSegment.length)-1].match(/^[0-9]$/))
console.log("True Last Segmant");
}
validateURL("http://localhost/demo/8")
function stripQueryStringAndHashFromPath(url) {
url = url.split('?')[0].split('#')[0].split(/(\/\d*)$/)[0];
return url;
}
console.log(stripQueryStringAndHashFromPath('http://localhost/story/89'));
function validateURL(url){ 让 lastSegment = url.split("/");if(lastSegment[(lastSegment.length)-1].match(/^[0 -9]$/))console.log("True Last Segmant"); } validateURL("http://localhost/demo/8");
我有 javascript 映射 url 的功能和突出显示菜单项的超链接,但是我无法在更深的页面中使用 url 最后一段带有数字,这url 看起来像:http://localhost/story/89
我想删除最后一个 url 段,如果它是一个数字,那么 url 最终会变成 http://localhost/story
(也去掉 /
)。
/* highlight nav menu */
$(function(){
$('#topMain li a').each(function(index) {
if($.trim(this.href) == stripQueryStringAndHashFromPath(window.location.href)) {
$(this).closest('li').addClass('active')
.closest('li.parent').addClass('active');
}
});
});
function stripQueryStringAndHashFromPath(url) {
return url.split("?")[0].split("#")[0];
}
您可以将正则表达式参数传递给 split()
。
只需在 stripQueryStringAndHashFromPath
函数的 url.split("?")[0].split("#")[0]
末尾添加 .split(/(\/\d*)$/)[0]
。
新的正则表达式段基本上搜索反斜杠 (\/
),后跟一个或多个数字 (\d*
),位于末尾 ($
) ) 的字符串。
有关正则表达式的更多信息 here。
function stripQueryStringAndHashFromPath(url) {
url = url.split('?')[0].split('#')[0].split(/(\/\d*)$/)[0];
return url;
}
console.log(stripQueryStringAndHashFromPath('http://localhost/story/89'));
function validateURL(url){ let lastSegment = url.split("/");
if(lastSegment[(lastSegment.length)-1].match(/^[0-9]$/))
console.log("True Last Segmant");
}
validateURL("http://localhost/demo/8")
function stripQueryStringAndHashFromPath(url) {
url = url.split('?')[0].split('#')[0].split(/(\/\d*)$/)[0];
return url;
}
console.log(stripQueryStringAndHashFromPath('http://localhost/story/89'));
function validateURL(url){ 让 lastSegment = url.split("/");if(lastSegment[(lastSegment.length)-1].match(/^[0 -9]$/))console.log("True Last Segmant"); } validateURL("http://localhost/demo/8");