If 语句 URL 通配符

If statement on URL wildcard

我怎样才能完成用简单英语表达的 if 语句。如果这个 url 里面有 "W" 不显示。

我有这个..我只需要通配符类型的表达式。

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

如果 url 末尾有 W****,我如何隐藏一些元素。我希望它使用每个以 W[ 结尾的 url http://support.com/support/default.asp?W* =14=]

你可以说

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

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

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

您可以使用简单的正则表达式来做到这一点。它是这样工作的:

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' 和 1 个或多个字符的问号 ('?')。如果这不是您所需要的,您必须自己澄清或更正正则表达式...

您的代码可以是:

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