我正在尝试创建一个JS,它将从url查询字符串中解析电子邮件地址。一旦完成,我希望它将结果发送给anaytics,以便在我需要使用它时使用。
所以基本上是abc.com?wemail=abc@abc.com
<script type="text/javascript">
/*Extracts email from query string using ?email=name@abc.com*/
function GetUrlValue(VarSearch) {
var SearchString = window.location.search.substring(1);
var VariableArray = SearchString.split('&');
for (var i = 0; i < VariableArray.length; i++) {
var KeyValuePair = VariableArray[i].split('=');
if (KeyValuePair[0] == VarSearch) {
return KeyValuePair[1];
}
}
anayltics正在接收数据,但@符号正被%40取代,并且它没有按照我想要的方式编码。
我确信这很简单,但需要做些哪些改动以确保其正常工作?
答案 0 :(得分:0)
@
符号最初在URL包含身份验证信息时使用:
user:pass@myurl.com
现代浏览器会将查询字符串中的@
符号编码为%40
。在发送到细分受众群之前,请使用decodeURIComponent()
解码该值。
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURIComponent
答案 1 :(得分:0)
您获得的%40符号是@符号的编码URL符号。 请参阅指向
用法的链接javascript中的decodeURIComponent()函数
url decode function javascript
请查看此链接