所以我有一个完全可变的网址:
www.whatever.com/something/pagename
我需要在网站的主页上发生某些事情,而不是在任何其他页面上发生。有时主页在网址中有“某些内容”,有时却没有,所以我需要查看“页面名称”是否存在,无论它是什么。
网址中的所有值都有所不同,所以我不能简单地在网址中搜索字符串..
仅使用JS / JQuery可以做到这一点吗?
由于
答案 0 :(得分:1)
拆分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
}
答案 1 :(得分:0)
Split是解决方案:
var exampleURL = "www.whatever.com/something/pagename";
var pageName = exampleURL.split("/")[2];
console.log(pageName);
//OUT -> pagename
答案 2 :(得分:0)
您可以进行正则表达式检查:
/^[^\/\s]*(\/\/)?[^\/\s]+\/[^\/\s]+[^\/]+\/[^\/\s]+$/.test('www.whatever.com/something/pagename')
答案 3 :(得分:0)
问题不是很清楚,而是按字面意思回答标题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/>';
}
}
答案 4 :(得分:0)
假设url字符串包含协议... http(s)://
...您可以将其传递给<a>
元素的href并访问路径名属性
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"