jquery href .indexOf,如何排除

时间:2016-01-01 00:39:42

标签: javascript jquery

假设我在www.forum.com上,除了主页之外,网址总是包含各种其他文字,例如 www.forum.com/post1/oh-yeah < / em>或 www.forum.com/post999/oh-baby 但我想创建一个if语句,除了www.forum.com以外的所有内容,我该怎么做?

换句话说,如何做到这一点:

if ( href.indexOf('forum.com') === 'forum.com' ){
    console.log('href value is exactly forum.com, with no additional string');
} else {
    console.log('href url contains more than just forum.com');
}

格拉西亚斯。

3 个答案:

答案 0 :(得分:2)

调用href.indexOf('forum.com')时结果为整数。如果你得到-1,那是因为它不存在。

  

indexOf()方法返回第一次出现的位置   字符串中的指定值。   如果要搜索的值永远不会发生,则此方法返回-1。   更多information

所以(href.indexOf('forum.com') === 'forum.com')代替(href.indexOf('/') == -1)而不是www.forum.com

,这意味着if (href.indexOf('/') == -1) { console.log('href value is exactly forum.com, with no additional string'); } else { console.log('href url contains more than just forum.com'); }

href = "www.forum.com/test-1";

if (href.indexOf('/') == -1) {
  document.getElementById("test").innerHTML = "href value is exactly forum.com, with no additional string";
} else {  
  document.getElementById("test").innerHTML = "href url contains more than just forum.com";
}

href = "www.forum.com";

if (href.indexOf('/') == -1) {
  document.getElementById("test1").innerHTML = "href value is exactly forum.com, with no additional string";
} else {  
  document.getElementById("test1").innerHTML = "href url contains more than just forum.com";
}

此代码段可能会有所帮助

&#13;
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<p id="test">Test</p>

<p id="test1">Test</p>
&#13;
for
&#13;
&#13;
&#13;

答案 1 :(得分:1)

到目前为止,你所拥有的答案都很好。我只想包含你可能想要考虑的其他内容。如果您尝试获取网址,然后在主机名后查找任何内容,您可能只想检查如下:

if(window.location.pathname != '' || window.location.search != ''){
    //stuff after the current url
}

window.location.pathname将处理您提供的两个示例。如果您的网址包含查询字符串(其中包含?的内容),那么window.location.search将处理该问题。

答案 2 :(得分:0)

这将是另一个很好的解决方案。

 var href="www.forum.com";

 //ADDED href.indexOf("www.forum.com")==0 for extra verification

 if (href.match("www.forum.com$") && href.indexOf("www.forum.com")==0) {
     alert("ONLY URL");
 }
 else
 {
     alert("URL CONTAINS SOMETHING EXTRA");
 }

<强> WORKING FIDDLE