Javascript 从 Youtube URL 中提取时间参数
Javascript Extract t Time parameters from Youtube URLs
>我搜索一种提取t时间参数内容的方法
所以,例如:
https://youtu.be/YykjpeuMNEk?t=2m3s
https://youtu.be/YykjpeuMNEk?t=3s
https://youtu.be/YykjpeuMNEk?t=1h2m3s
我想得到 h,m 和 s 值。
我可以想象我必须使用 RegEx 才能完成工作,但我找不到正确的表达式字符串(这一点上的小新手)
我目前只有这个:
var matches = t.match(/[0-9]+/g);
我使用此工具测试不同的表达式,但无法正确格式化并确保内容与 H、M 和 S 完全相关。
如果你有任何想法;)
对我有用的答案:
url = 'https://youtu.be/vTs7KXqZRmA?t=2m18s';
var matches = url.match(/'?t=(?:('d+)h)?(?:('d+)m)?('d+)s/i);
var s = 0;
s += matches[1] == undefined ? 0 : (Number(matches[1])*60*60);
s += matches[2] == undefined ? 0 : (Number(matches[2])*60);
s += matches[3] == undefined ? 0 : (Number(matches[3]));
console.log(s);
输出:
138
感谢所有;)
您可以使用
此正则表达式来捕获h
、m
和s
值,并将h
和m
作为可选部分:
/'?t=(?:('d+)h)?(?:('d+)m)?('d+)s/i
正则表达式演示
正则表达式分解:
'?t= # match literal text ?t=
(?: # start capturing group
('d+)h # match a number followed by h and capture it as group #1
)? # end optional capturing group
(?: # start capturing group
('d+)m # match a number followed by m and capture it as group #2
)? # end optional capturing group
('d+)s # # match a number followed by s and capture it as group #3
相关文章:
- 使用时刻.js从日期时间中提取时间
- 是否可以自动拉取“随机”;标签“;从一长串文本中提取
- Regex模式匹配,从Javascript中的字符串中提取时间,结果出乎意料
- Mongoose查询在两个日期时间之间提取数据
- imacros javascript在抓取的一段时间内挂起或减慢速度
- 我如何从jquery中的html表中提取从时间,到时间(约会时间)
- 从时刻 js 对象中提取时间
- Javascript 从 Youtube URL 中提取时间参数
- 带有“日期时间”x轴的图表 - 在向下钻取时使用类别
- Momentjs 抓取今天的日期并设置时间会导致它快进 24 小时
- 使用Chrome抓取工具从JavaScript网站中提取数据
- 避免Facebook从网页中提取og元标记数据/或抓取
- 提取格林威治标准时间时差
- 使用 javascript 提取并浏览文件夹中.ZIP文件修改时间戳
- 使用Angular js从datetime中提取时间
- jQuery:抓取日期&来自网页的时间数据
- 从需要登录[Node.js]的web应用程序中提取(抓取)数据
- Facebook时间线错误3502,调试工具不会抓取localhost
- 对表示时间的字符串进行排序,并取最接近的字符串
- 如何使用python在网页上提取动态时间计数器