Livevalidation настройки валидатора URL YouTube - PullRequest
2 голосов
/ 09 марта 2011

Я использую livevalidation для проверки поля ввода формы, где запрашивается URL-адрес видео на YouTube, и я пытаюсь создать правило URL, чтобы оно проверялось при вводе пользователем http://www.youtube.com/watch?v=11chars. Я попытался объединить параметр частичного совпадения в приведенной выше ссылке следующим образом:

var link = new LiveValidation('link');
link.add( Validate.Inclusion, { within: [ 'http://' , 'www', 'youtube.com/watch?v=' ], partialMatch: true } )

и объедините это с примером длины:

var link = new LiveValidation('link');
link.add( Validate.Length, { minimum: 50, maximum: 50 } );

но, очевидно, это выглядит неуклюже, и я не думаю, что это будет очень эффективно, если оно будет работать должным образом.

Можно ли объединить некоторые примеры из приведенной выше ссылки для правильной проверки URL-адреса YouTube? Спасибо за помощь!

Ответы [ 3 ]

0 голосов
/ 09 марта 2011
link.add(Validate.Format, { pattern: /^http\:\/\/www\.youtube\.com\/watch\?v=[a-zA-Z0-9---_]{11}$/ }); 

это работает! не знал, что могу просто использовать регулярные выражения, поэтому немного подправил код @ gilly3

0 голосов
/ 23 апреля 2011

Вот регулярное выражение, которое проверяет как ваш JavaScript, так и PHP, и делает это для трех типов URL: классический (? V =), AJAXed (#! V =) и короткая версия (youtu.be),Он также поддерживает международные URL-адреса.

/http:\/\/(?:youtu\.be\/|(?:[a-z]{2,3}\.)?youtube\.com\/watch(?:\?|#\!)v=)([\w-]{11}).*/gi

Фрагмент кода, найденный в Snipplr:)

0 голосов
/ 09 марта 2011

Используйте Validate.Format с регулярным выражением:

 link.add(Validate.Format, { pattern: /^http\:\/\/www\.youtube\.com\/watch\?v=[a-z0-9]{11}$/i });

Редактировать: Чтобы проверить ссылки с дополнительными параметрами запроса, вы можете использовать что-то вроде этого:

/^http\:\/\/www\.youtube\.com\/watch\?v=[a-z0-9]{11}(&.*)?$/i
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...