【发布时间】: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