gpt4 book ai didi

JavaScript:如何剥离所有内容并获取 ID?

转载 作者:行者123 更新时间:2023-11-30 10:49:06 25 4
gpt4 key购买 nike

我正在为 YouTube 创建一个 Bookmarklet,我想从 youtube 链接中获取 ID,

例如:http://www.youtube.com/watch?v=YgFyi74DVjc

我只想要上面链接中的“YgFyi74DVjc”,这只是我想要的一个例子,它必须去掉所有的东西,只留下最后的部分,另一件事是我也想从此网址获取 IDhttp://www.youtube.com/verify_age?next_url=http%3A//www.youtube.com/watch%3Fv%3D[YOUTUBEID]

所以基本上当你点击一些视频然后在这个小书签上它会获取 youtube 视频 ID 并将它们重定向到一个链接解锁视频或将视频扩展到用户浏览器的全尺寸,我已经编码了所有内容并且只是需要一种从两个链接获取 ID 的方法,我已经编写了适用于第二个链接的代码

var url = "http://www.youtube.com/verify_age?next_url=http%3A//www.youtube.com/watch%3Fv%3D[YOUTUBEID]";
var ytcode = url.substr(80,50);
alert(ytcode);

现在我想从两个链接中获取 ID,请帮忙!

最佳答案

这是正则表达式的工作:

url.match(/(\?|&)v=([^&]+)/).pop()

分解后的意思是:

url.match(
// look for "v=", preceded by either a "?" or a "&",
// and get the rest of the string until you hit the
// end or an "&"
/(\?|&)v=([^&]+)/
)
// that gives you an array like ["?v=YgFyi74DVjc", "?", "YgFyi74DVjc"];
// take the last element
.pop()

如果你先解码它,你也可以将它用于第二种形式:

url = decodeURIComponent(url);

url 变量现在等于 "http://www.youtube.com/verify_age?next_url=http://www.youtube.com/watch?v=[YOUTUBEID] ",正则表达式应该可以工作。

您可以将它们放在一个可重用的函数中:

function getYouTubeID(url) {
return decodeURIComponent(url)
.match(/(\?|&)v=([^&]+)/)
.pop();
}

关于JavaScript:如何剥离所有内容并获取 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6576000/

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