0

我有一个文本框,供用户在其中粘贴嵌入标签,但我想验证,因为用户没有输入嵌入标签以外的任何其他代码,因此我需要验证嵌入标签。

4

1 回答 1

1
\s*(https?://)www.youtube(-nocookie)?.com/(?:v|embed)/[\p{L}\p{N}]+[\p{L}\p{N}\p{Zs}.#@$%+&;:_~,?=!/-]*\s*

我冒昧地删除了不必要的捕获组、逃脱和角色。

虽然我个人会使用类似的东西:

\s*(https?://www.youtube(?:-nocookie)?.com/(?:v|embed)/([a-zA-Z0-9-]+).*)

这会将整个 youtube URL 放在匹配组 0 中,将视频 id 放在匹配组 1 中。此外,当 youtube 的 URL 不包含 unicode 字符时,使用 unicode 属性也没有多大意义。
演示:http ://rubular.com/r/jv4zO9ys2L

于 2015-06-18T09:53:24.050 回答