所以我有一个完全可变的网址:
www.whatever.com/something/pagename
我需要在网站的主页上发生一些事情,而不是在任何其他页面上。有时主页在 url 中有"某些东西",有时没有,所以我需要找出"pagename"是否存在,无论它是什么。
URL中的所有值都不同,所以我不能简单地在 URL 中搜索字符串。
是否可以仅使用JS/JQuery来执行此操作?
谢谢
拆分是解决方案:
var exampleURL = "www.whatever.com/something/pagename";
var pageName = exampleURL.split("/")[2];
console.log(pageName);
//OUT -> pagename
拆分 URL,然后检查结果的长度。
var split_url = url.split('/');
if (split_url.length > 2) {
// URL is like www.whatever.com/something/pagename...
} else {
// URL is just www.whatever.com or www.whatever.com/something
}
另一种方法是使用与两个斜杠匹配 URL 的正则表达式:
if (url.match(//.*//)) {
// URL contains two slashes
} else {
// URL has at most one slash
}
你可以做一个正则表达式检查:
/^[^/s]*(//)?[^/s]+/[^/s]+[^/]+/[^/s]+$/.test('www.whatever.com/something/pagename')
演示:https://regex101.com/r/vF1bH8/1
这个问题不是很清楚,但要从字面上回答标题 https://jsfiddle.net/jgfeymk1/
function after2ndFSlash(inpu){
var pieces = inpu.split('/');
var output = document.getElementById('output');
if(pieces.length>2){
output.innerHTML += 'true<br/>';
}
else{
output.innerHTML += 'false<br/>';
}
}
假设网址字符串包含协议... http(s)://
......您可以将其传递给 <a>
元素的 href 并访问 pathname 属性
var url ='http://www.whatever.com/something/pagename'
var a = document.createElement('a');
a.href = url;
var pathParts = a.pathname.replace(/^//,'').split('/');//["something","pagename"]
alert(pathParts[1]); //"pagename"