Youtube URL-тестер с дефисами - PullRequest
0 голосов
/ 25 октября 2010

Вот как я обычно проверяю валидность URL YouTube с помощью JavaScript.Он отлично работает, но не работает для URL с «-» перед идентификатором видео, например http://www.youtube.com/watch?v=-pIaQpwYEjY

Любое доступное средство, так как я плохо разбираюсь в регулярных выражениях

var matches = $('#as_url').val().match(/^http:\/\/(?:www\.)?youtube.com\/watch\?(?=.*v=\w+)(?:\S+)?$/);
if (matches) {
} else {
    error +="\nInvalid Youtube Url";
}

1 Ответ

4 голосов
/ 25 октября 2010

Измените \w+ на [\w-]+, поскольку класс символов \w соответствует только [A-Za-z0-9_].

Regular-Expressions.info содержит хорошее объяснение , какие классы символов , а также функция прогнозирования регулярных выражений, которую использует ваше регулярное выражение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...