使用 javascript / jquery 检查 URL 在第二次"/"后是否有任何内容



所以我有一个完全可变的网址:

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"

相关内容

最新更新