我需要删除嵌入的YouTube视频的ID,所以我的网址是这样的:
www.youtube.com/embed/[someID]&rel=0&controls=0&showinfo=0&frameborder=1&modestbranding=1
我想要的只是[someID]字符串。我已声明一个空数组来存储正则表达式匹配;
var videoID = [];
我最接近解决方案的是:
videoID = videoID.match("embed/(\w*)");
但这导致以下结果:
video[0] ("embed/")
video[1] ()
答案 0 :(得分:1)
使用此:
url = "www.youtube.com/embed/someID&rel=0&controls=0&showinfo=0&frameborder=1&modestbranding=1";
然后使用:
var videoID = url.match(/embed\/(\w*)/); // regex
或者其他:
var videoID = url.match("embed/\\w*)"); // regex object
两者都会提供输出:
["embed/someID", "someID"]
如果您提供字符串,那么String#match
方法将尝试构建RegExp
对象,对于这种情况,您需要使用\\w
而不是\w
。
答案 1 :(得分:1)
试试这个你可能会得到身份证明。我没有使用正则表达式,但我们仍然可以像上面的URL一样从上面的演示中获取id。
var url ="www.youtube.com/embed/[someID]&rel=0&controls=0&showinfo=0&frameborder=1&modestbranding=1";
var urlQueries = url.split('/');
var queryParameters = urlQueries[2].split('&'); // arrays of all query parameters
var id = queryParameters[0]; // get ids at index 0
工作演示here
答案 2 :(得分:0)