gpt4 book ai didi

javascript - 工作结束后得到一根绳子

转载 作者:行者123 更新时间:2023-12-01 03:14:34 24 4
gpt4 key购买 nike

我有一个如下字符串,也可以是与此类似的任何字符串:

http://localhost:3003/?sp-tk=A8FEE0A4AFD2A086277CC79449AD69E5D34734455900AEED7C0A7C77EC580187D9D2FE1B286F7B5989B421B27E6FE2D1CAD2CCEB4372A80FFF6DC5D1AC6E246DB3BBAD7EB8DD7DAD1C5ED79A2114F0E3A036E898287021ABEFE642F74FAE5372E6525E0C54732B7EA9691F84C27EEB6AE60029B7613B68DA8DA3AE69887F6E815EA0A3415F08C827AF21DBFB82AE7247B297F8CFAD0DD3F7D0ED81FC095375F6242CED940B2B55D8707BCB1D85E54CBB98E83CB8

我需要的是 sp-tk 之后的部分:

A8FEE0A4AFD2A086277CC79449AD69E5D34734455900AEED7C0A7C77EC580187D9D2FE1B286F7B5989B421B27E6FE2D1CAD2CCEB4372A80FFF6DC5D1AC6E246DB3BBAD7EB8DD7DAD1C5ED79A2114F0E3A036E898287021ABEFE642F74FAE5372E6525E0C54732B7EA9691F84C27EEB6AE60029B7613B68DA8DA3AE69887F6E815EA0A3415F08C827AF21DBFB82AE7247B297F8CFAD0DD3F7D0ED81FC095375F6242CED940B2B55D8707BCB1D85E54CBB98E83CB8

为此,我找到了如下代码:

function getTokenFromUrl() {
name="sp-tk";
name = name.replace(/[\[]/, "\\\[").replace(/[\]]/,
"\\\]");
var regexS = "[\\?&]" + name + "=([^&#]*)";
var regex = new RegExp(regexS);
var results = regex.exec(window.location.href);
if (results == null)
return "";
else
return decodeURIComponent(results[1].replace(
/\+/g, " "));
}

并且它有效。但我不明白正则表达式部分。任何人都可以阐明这一点,以及是否有一种更简单、更干净的方法来实现这一点?

最佳答案

您可以使用此代码(我认为此正则表达式更易于阅读):

    var myString = 'http://localhost:3003/?sp-tk=A8FEE0A4AFD2A086277CC79449AD69E5D34734455900AEED7C0A7C77EC580187D9D2FE1B286F7B5989B421B27E6FE2D1CAD2CCEB4372A80FFF6DC5D1AC6E246DB3BBAD7EB8DD7DAD1C5ED79A2114F0E3A036E898287021ABEFE642F74FAE5372E6525E0C54732B7EA9691F84C27EEB6AE60029B7613B68DA8DA3AE69887F6E815EA0A3415F08C827AF21DBFB82AE7247B297F8CFAD0DD3F7D0ED81FC095375F6242CED940B2B55D8707BCB1D85E54CBB98E83CB8'

var myRegexp = /sp-tk=(.*?)(&|$)/;
var match = myRegexp.exec(myString);
var spTk = match[1]
console.log(spTk);

正则表达式解释

  • sp-tk= => 查找以 sp-tk= 开头的字符串
  • (.*?) => 字符串后面应该跟任何字符(? 代表非贪婪模式)并用括号括起来,因为我们想要提取这部分的匹配。
  • &|$ 由于我们处于非贪婪模式,我们必须说出 .* 位于哪些字符上?应该停止。

然后您将在索引 1 处获得匹配,因为 0 是整个匹配(包括 sp-tk)


请注意,如果 sp-tk 之前或之后有其他 url 参数,则此正则表达式将起作用。

关于javascript - 工作结束后得到一根绳子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45634692/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com