我在以下链接中托管了一个表单: http://laughtertab.com/url
表格的代码如下:
我需要的是当一个人从网站输入一个URL时,它应该从输入中替换给定的域并用列表中的所选域替换。我是编码的新手,到目前为止我所理解的是我需要将URL解析为域和路径,但是我无法在如何完成它的过程中制作语法,如果我可以获得帮助,我会很感激
<html>
<head>
<title> Laughter Tab - UTM and OGP Propagated URL Builder </title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap-theme.min.css">
</head>
<body face='verdana'>
<br><br><br><br>
<center>
<div id="entries">
<form name ="myform">
<div class="table-responsive">
<table style="table">
<tr>
<td>
<right>
Enter original URL without domain -
</right>
</td>
<td>
<input type="text" name="origin"/>
</td>
</tr>
<tr>
<td>
<right>
Select OGP propagated domain -
</right>
</td>
<td>
<input type="radio" name="ogpd" value="http://www.laughters.xyz/"> laughtertab.com<br>
<input type="radio" name="ogpd" value="http://www.laughters.xyz/"> laughters.xyz<br>
<input type="radio" name="ogpd" value="http://www.lolrising.rocks/"> lolrising.rocks<br>
<input type="radio" name="ogpd" value="http://www.funspoted.net/"> funspoted.net<br>
<input type="radio" name="ogpd" value="http://www.grumpy-kitten.com/"> grumpy-kitten.com<br>
</td>
</tr>
<tr>
<td>
<right>
Enter your GA Campaign name -
</right>
</td>
<td>
<input type="text" name="campaign"/><br>
</td>
<tr>
<td>
</td>
<td><br>
<right>
<input type="button" value="Generate" onClick="collect(this.form)"/>
</right>
</td>
</tr>
</table>
</div>
</form>
<br><br>
<a href="http://www.laughtertab.com">Go Back to Laughter Tab Home Page</a>
</div>
<div id="results"> </div>
<script type="text/javascript">
function collect(frm)
{
document.getElementById("results").innerHTML+=""+frm.ogpd.value+""+frm.origin.value+"?utm_source=PNP&utm_medium=P1K&utm_campaign="+frm.campaign.value+"<hr>"
frm.reset();
}
</script>
<center>
</body>
</html>
&#13;
答案 0 :(得分:0)
如果我理解正确的话。您基本上想要在输入
中查找域名frm.origin
并将其从值中删除。
如果是这种情况,那么你可以匹配正则表达式模式,一般的例子是:
/(http:\/\/|https:\/\/){0,1}([\w\d-]+\.)*([\w\d-]{1,63})(\.(\w{2,3}))\//i
如果您愿意,也可以谷歌自己的URL正则表达式
但无论如何你只需将它应用于你的价值并用&#34;&#34; (无)
frm.origin.value.replace(/(http:\/\/|https:\/\/){0,1}([\w\d-]+\.)*([\w\d-]{1,63})(\.(\w{2,3}))\//i, "");
哪个给你
function collect(frm)
{
document.getElementById("results").innerHTML+=""+frm.ogpd.value+""+frm.origin.value.replace(/^(http:\/\/|https:\/\/){0,1}([\w\d-]+\.)*([\w\d-]{1,63})(\.(\w{2,3}))\//i, "")+"?utm_source=PNP&utm_medium=P1K&utm_campaign="+frm.campaign.value+"<hr>"
frm.reset();
}
这不是一个完美的解决方案,但它应该是一个很好的起点。