在文本输入中解析域,从给定列表中替换

时间:2015-10-25 21:30:29

标签: javascript html forms

我在以下链接中托管了一个表单: 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;
&#13;
&#13;

1 个答案:

答案 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();
} 

这不是一个完美的解决方案,但它应该是一个很好的起点。