正确的youtube网址正则表达式验证网址输入

时间:2013-12-06 11:16:28

标签: regex video youtube

我已经尝试并测试过很多youtube url正则表达式,其中许多正常工作......但我遇到了这些问题:

http://www.youtube.com/watch?v=kdyo-up3Cp0

http://www.youtube.com/watch?v=kdyo-up3Cp0asdffg

所有正则表达式都适用于他们两个,他们提供相同的视频......

问题是只使用了v=之后的11个字符,而右边的任何字符都会产生相同的视频....

任何人都可以为此做出转机正则表达式吗?并在可能的情况下将其包含在此正则表达式中?

v=之后的任何超过11个字符对我来说应该是无效的。

(?:http|https|)(?::\/\/|)(?:www.|)(?:youtu\.be\/|youtube\.com(?:\/embed\/|\/v\/|\/watch\?v=|\/ytscreeningroom\?v=|\/feeds\/api\/videos\/|\/user\S*[^\w\-\s]|\S*[^\w\-\s]))([\w\-]{11})[a-z0-9;:@?&%=+\/\$_.-]*

1 个答案:

答案 0 :(得分:0)

(?:http|https|)(?::\/\/|)(?:www.|)(?:youtu\.be\/|youtube\.com(?:\/embed\/|\/v\/|\/watch\?v=|\/ytscreeningroom\?v=|\/feeds\/api\/videos\/|\/user\S*[^\w\-\s]|\S*[^\w\-\s]))([\w\-]{11})

如果您只想验证最后11个字符的存在,请尝试此操作。