【发布时间】:2020-05-18 19:38:52
【问题描述】:
我正在寻找一个正则表达式来匹配以下 2 个网址:
1) https://www.youtube.com/
2) https://www.youtu.be/
当然还有查询。
1) https://www.youtube.com/watch?v=dqw4w9wgxcq&feature=youtu.be
2) http://youtu.be/dqw4w9wgxcq
我想在表单提交后检查它。
我现在的正则表达式是:
var expression = /https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)?/gi;
var regex = new RegExp(expression);
if (!linkVal.match(regex)) {
alert("PLease enter a valid url");
return;
}
提前致谢
【问题讨论】:
-
我们需要更多信息。 只有这两个网址?无论文件夹路径有多长或嵌套多长时间,它都会捕获路径吗?他们假定 URL 是安全的吗?
-
@JoelHager 不,youtube.com 或 youtu.be 之后的所有路径。我认为所有 youtube 链接都是安全的。
-
所以它是 所有 youtube 链接?
-
@JoelHager 喜欢所有视频链接。
-
我会澄清一下 - 你最终对捕获的数据做了什么?如果模糊不清,您必须进行 吨 项检查(即检查 https 或相对路径等)
标签: javascript html node.js regex