做项目时候遇到添加视频的问题,比如用户复制腾讯视频的链接,以这个为例(http://v.qq.com/x/cover/ypdy6korrry8w5a/u0332wyg5oa.html)
现在需要截取.html前面以及最后一个斜杠后面的内容(u0332wyg5oa);腾讯视频点击下面分享时会出现这样一段代码:<iframe frameborder=”0″ width=”640″ height=”498″ src=”http://v.qq.com/iframe/player.html?vid=u0332wyg5oa&tiny=0&auto=0″ allowfullscreen></iframe>;
找到src里面的“vid=”,里面的代码和我们要截取的视频Id是一样的。所以我就总结了以下方法截取视频id,方法不简便,是一步一步截取的, 欢迎朋友们提意见或建议(手机端或PC端链接都可以)。
$(function(){
//腾讯视频PC端网址
var video_Pc_Tx = ‘http://v.qq.com’;
//腾讯视频移动端端网址
var video_Mobile_Tx = ‘http://m.v.qq.com’;
//点击事件
$(“#video_Url”).click(function(){
//获取输入框中的值
var video_Url = $(“#demo”).val();
var video_Url_Id = ”;
if (video_Url.indexOf(video_Pc_Tx) != -1) {
//截取Pc端视频ID
var Pc_Tx_Id_w = video_Url.substr(0,video_Url.lastIndexOf(‘.’)-1);
video_Url_Id = Pc_Tx_Id_w.substr(Pc_Tx_Id_w.lastIndexOf(‘/’)+1,Pc_Tx_Id_w.length);
} else {
//此时有可能是移动端腾讯视频或优酷视频
if (video_Url.indexOf(video_Mobile_Tx) != -1) {
/**
* 这里是判断移动端视频链接
* GetQueryString() // 调用函数获取视频ID
*/
function GetQueryString(name){
var reg = new RegExp(“(^|&)”+ name +”=([^&]*)(&|$)”);
var r = video_Url.substr(1).match(reg);;
if(r!=null)return unescape(r[2]); return null;
}
//截取Pc端视频ID
video_Url_Id = GetQueryString(“vid”);
}
}
});
});
然后“video_Url_Id ”就是视频的Id了 这样就可以把它放入“src”里面的“vid=”
里面去了
也可以封装成一个函数,直接调用就行了;
比如:
function dataVideo(Url){
//上面的代码
return video_Url_Id;
}
调用的时候直接
video_Url_Id = dataVideo(Url);就行了