如果是URL通配符上的语句

时间:2015-08-04 20:19:08

标签: javascript string-matching

如何用简单的英语完成if语句。如果这个网址有" W"在它没有显示。

我有这个......我只需要wilcard类型表达式。

if (window.location.href == 'http://support.com/support/default.asp?W2297') {
 $(".navi").hide();
}

如果url在结尾处有W****,我该如何隐藏一些元素..我希望它使用以W结尾的每个网址http://support.com/support/default.asp?W*

2 个答案:

答案 0 :(得分:6)

你可以用简单的正则表达式做到这一点。以下是它的工作原理:

var arr = ['http://support.com/support/default.asp?W2297',
           'http://support.com/support/default.asp?W22',
           'http://support.com/support/default.asp?X2297']

for(var i = 0; i < arr.length; i++)
  alert(arr[i] + ': ' + /\?W.+$/.test(arr[i]))

注意:此正则表达式正好查找一个问号('?')后跟一个大写的'W'后跟一个或多个字符。如果这不是您所需要的,那么您必须自己澄清或纠正正则表达式...

您的代码可以是:

if (/\?W.+$/.test(window.location.href)) {
  $(".navi").hide();
}

答案 1 :(得分:0)

你可以说

if ( location.href.lastIndexOf( "W" ) > location.href.lastIndexOf( "/" ) ) {
 $(".navi").hide();
}

每次请求(.navi)部分中都有"W"时,这会隐藏?***

有关lastIndexOf的更多信息,如果您有兴趣的话。