I am using this regular expression to validate youtube urls.
^http:\/\/(?:www\.)?youtube.com\/watch\?(?=.*v=\w+)(?:\S+)?$
it works great.
But I have a problem with this.
If user enters http://www.youtube.com/watch?v=zcKEjSYJVLs&feature=topvideos_sports it works fine
Now I want to avoid this
http://www.youtube.com/watch?v=zcKEjSYJVLs&feature=topvideos_sportshttp://www.youtube.com/watch?v=zcKEjSYJVLs&feature=topvideos_sportshttp://www.youtube.com/watch?v=zcKEjSYJVLs&feature=topvideos_sports
same URL pasted multiple times(thrice in our case). For this regular expression it is also a valid youtube address.
I am looking for a workaround.
Don’t allow another
?after the first one:An actual
?in the query parameters should be escaped, so this approach shouldn’t exclude any valid URLs.