正确使用YouTube Url Regex

时间:2013-09-19 22:06:48

标签: javascript html regex

我在堆栈溢出时发现了这个正则表达式来获取youtube视频ID。

function ytVidId(youtubeurl) {
var p = /^(?:https?:\/\/)?(?:www\.)?(?:youtu\.be\/|youtube\.com\/(?:embed\/|v\/|watch\?v=|watch\?.+&v=))((\w|-){11})(?:\S+)?$/;
return (url.match(p)) ? RegExp.$1 : false;
}

我觉得我错过了一些非常明显的东西,但我不知道如何实际使用它。如何让它影响名为" youtubeurl"的文本输入字段?在为数据库做好准备之前?

非常感谢...感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

首先你需要从文本框中获取文本,也许使用document.getelementbyid()。value,然后你可以这样做(例如,如果你的文本框的id是#txt1,你可以使用这段代码:

function ytVidId(youtubeurl) {
var p = /^(?:https?:\/\/)?(?:www\.)?(?:youtu\.be\/|youtube\.com\/(?:embed\/|v\/|watch\?v=|watch\?.+&v=))((\w|-){11})(?:\S+)?$/;
return (url.match(p)) ? RegExp.$1 : false;
}

var ytURL = document.getelementbyid("txt1").value;
var ytID = ytVidID(ytURL);

现在变量ytID包含youtube视频ID,你可以按照你想要的方式将它添加到数据库中