【问题标题】:URL var with wildcard带有通配符的 URL var
【发布时间】:2019-07-19 17:42:50
【问题描述】:

我的 HTML 中有这个 JS 代码

<html>
<body>
<form name="formurl" id="form1" method="post" action="../search.php" onSubmit="document.getElementByName('url').value=;">
<input type="hidden" id="url" name="url" value="" />
<input type="hidden" id="usrgn" name="usrgn" value="" />
</form>
<script type="text/javascript">

  var searchprimary = "https://site12.org/";
  var searchsecundary1 = "https://site12.org/folder2/";
  var searchsecundary2 = "https://www.site12.org/folder2/folder3/";
  var searchsecundary3 = "https://www.site12.org/folder2/folder3/folder1/";
  var searchsecundary4 = "https://www.othersite.org";
  var searchsecundary5 = "https://www.othersite.org/folder4/folder3/";
  var searchsecundary6 = "https://www.othersite.org/folder4/folder10/";


</script>
<script type="text/javascript">
    var x = window.location.hostname;
    var y = document.referrer;
    document.getElementById("demo").innerHTML = y;
    var z = document.referrer.split('/')[2];
    if (z == searchprimary){}
    else if (z == searchsecundary1) {}
    else if (z == searchsecundary2) {}
    else if (z == searchsecundary3) {}
    else if (z == searchsecundary4) {}
    else if (z == searchsecundary5) {}
    else if (z == searchsecundary6) {}
    else
    {
        var usrgnt = navigator.userAgent;
        document.forms["formurl"].url.value = y;
        document.forms["formurl"].usrgn.value = usrgnt;
        document.forms["formurl"].submit();
}
  </script>
</body>
</html>

我想创建一个这样的通配符

https://site12.org/folder2/* (/文件夹2/、文件夹3/文件夹4/、文件夹5/等)

我这样做了,但它不适合我:

<script type="text/javascript">
    var searchprimary = "https://site12.org/folder2/[^ ]*";
    var searchsecundary4 = "https://www.othersite.org.com/folder4/[^ ]*"; 
   </script>

有人知道为什么它不起作用吗?

【问题讨论】:

  • 你希望通配符做什么?
  • 不要使用多个枚举变量!使用适当的数据结构,例如对象或数组。
  • 如果您只想查看 z 是否包含给定的字符串,您实际上并不需要通配符。
  • 所以你会使用匹配/测试与 reg exp。或者只使用 indexOf/includes。

标签: javascript url wildcard


【解决方案1】:

您需要使用正则表达式。我认为您想使用它,但不知道如何(根据您的问题)。

方法如下:

var yourURL = "....";
var urlRegEx = /http:\/\/site.com\/page\/[^/\s]+\/?/i;
if (urlRegEx.test(urlRegEx)) { /* ... */ }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-10
    • 2016-06-05
    • 1970-01-01
    • 2017-08-10
    • 2012-10-28
    • 1970-01-01
    • 1970-01-01
    • 2021-11-24
    相关资源
    最近更新 更多