Javascript以链接“中的字符串”;分钟:秒;格式

Javascript以链接“中的字符串”;分钟:秒;格式,javascript,video,seek,linkify,Javascript,Video,Seek,Linkify,我有一个视频网站,人们可以在每个视频下发表评论 我正在尝试创建一个linkify函数,该函数将解析用户的评论并查找“分:秒”格式的子字符串。该链接将有一个点击事件,该事件将触发一个函数调用,该函数调用将搜索到该特定时刻的视频 非常感谢您的帮助。这将帮助您开始(您必须调整正则表达式以正确验证时间): 函数链接(str){ 返回str.replace(/(\d{2}):(\d{2})/,“$1:$2”); } 功能视频(分、秒){ 分钟=window.parseInt(分钟,10); 秒=windo

我有一个视频网站,人们可以在每个视频下发表评论

我正在尝试创建一个linkify函数,该函数将解析用户的评论并查找“分:秒”格式的子字符串。该链接将有一个点击事件,该事件将触发一个函数调用,该函数调用将搜索到该特定时刻的视频


非常感谢您的帮助。

这将帮助您开始(您必须调整正则表达式以正确验证时间):

函数链接(str){
返回str.replace(/(\d{2}):(\d{2})/,“$1:$2”);
}
功能视频(分、秒){
分钟=window.parseInt(分钟,10);
秒=window.parseInt(秒,10);
//用视频做这些事情
}
log(linkify(“查看01:23的视频,了解一些有趣的内容”);

您已经尝试了什么?你到底需要什么帮助?简要提示:要搜索分:秒格式的子字符串,您可能需要使用正则表达式。我已经尝试了一些涉及indexOf的内容。它又丑又脏。我在这里问这个问题是因为我知道正则表达式是解决这个问题的最好方法,但我不是很擅长。这绝对是一个好的开始,但理想情况下,代码不应该假设每个都有2个数字。例如:1:1 1:01 1:10 10:10 123:10应全部视为有效。以下正则表达式如何:
/(\d+)([0-5][0-9])/g
?这将允许任何数字后跟0-59秒。我还添加了
g
标志,以便所有时间都匹配(而不仅仅是第一次)。如果“秒”部分仅为一位数字,即1:1,则仍会失败。我需要1:1和1:01才有效。这个怎么样:
/(\d+):([0-5][0-9]|[0-9])/g
?这是一个使用正则表达式的好网站:
function linkify(str) {
    return str.replace(/(\d{2}):(\d{2})/, "<span onclick='video($1, $2)'>$1:$2</span>");
}

function video(mins, seconds) {
    mins = window.parseInt(mins, 10);
    seconds = window.parseInt(seconds, 10);   

    // Do the stuff with the video
}

console.log(linkify("Look at the video at 01:23 for something interesting"));